在 Visual Studio Code 中,自动完成工具(我猜是gopls
?)提供了以下模板:
m.Range(func(key, value any) bool {
})
哪里m
是sync.Map
。该类型any
无法识别,但被放在那里。
是什么any
?我可以放我想要的类型并希望 Go 1.18 为我做隐式类型转换吗?例如:
m.Range(func(k, v string) { ... })
哪个将作为回调中的字符串给出k
,v
而不必自己进行类型转换?
any
是一个新的预声明标识符和 . 的类型别名interface{}
。它来自issue 49884 、CL 368254和commit 2580d0e。
该问题提到了
interface{}
/any
: