是否可以在GoLang
:
func funcWithDynamicTypeArgs(param notFixedType)
{
}
我希望param
成为int
,string
和map
以及任何类型。
换句话说:Go
是否可以使用动态类型参数声明和使用function
?
答案 0 :(得分:2)
例如,
func function(param interface{}) {
}
The Go Programming Language Specification
所有类型都实现空接口:
interface{}
对于接口类型的表达式x和类型T,表示主要的 表达
x.(T)
断言x不是nil,并且存储在x中的值是T类型。 符号x。(T)称为类型断言。
请参阅使用package fmt处理任何类型参数的package reflect。例如,
func Print(a ...interface{}) (n int, err error)
使用其操作数和写入的默认格式打印格式 标准输出。当两者都不是时,在操作数之间添加空格 串。它返回写入的字节数和任何写入错误 遇到。