文章目录
- package main import “fmt” func say(data any) { switch data.(type) { case int: b := data.(int) + 1 fmt.Println(b) case string: fmt.Println(“string”) } } func main() { say(123) } 输出结果为
- package main import “fmt” func main() { m := make(map[string]any) m[“a”] = 1 m[“b”] = “aaa” for k, v := range m { fmt.Println(k, v) a, b := v.(int) fmt.Println(a, b) } } 输出结果为
目录
- 前言
- any使用
- any转换为类型
- any用在map
- 总结
在没有any类型之前,go语言中,我们经常使用interface{},来表示一个类型是未知的,或者有好几种其他基础类型的情况,但在go1.18版本之后,新增了any类型,用来代替interface{}
go使用any使用
package main
import "fmt"
func say(data any) {
switch data.(type) {
case int:
fmt.Println("int")
case string:
fmt.Println("string")
}
}
func main() {
say(123)
}
输出结果为

package main
import "fmt"
func say(data any) {
switch data.(type) {
case int:
b := data.(int) + 1
fmt.Println(b)
case string:
fmt.Println("string")
}
}
func main() {
say(123)
}
输出结果为

package main
import "fmt"
func main() {
m := make(map[string]any)
m["a"] = 1
m["b"] = "aaa"
for k, v := range m {
fmt.Println(k, v)
a, b := v.(int)
fmt.Println(a, b)
}
}
输出结果为

在go1.18之后,any关键字可以作为开发使用,不过看个人
到此这篇关于go中any类型的使用详解的文章就介绍到这了,更多相关go any类型内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- go语法入门any类型的使用场景示例详解