不,你不能。Go是一种静态类型的语言。变量的类型在编译时确定。
如果要动态确定的
type,
interface{}可以使用类型切换:
var t interface{}t = functionOfSomeType()switch t := t.(type) {default: fmt.Printf("unexpected type %T", t) // %T prints whatever type t hascase bool: fmt.Printf("boolean %tn", t) // t has type boolcase int: fmt.Printf("integer %dn", t) // t has type intcase *bool: fmt.Printf("pointer to boolean %tn", *t) // t has type *boolcase *int: fmt.Printf("pointer to integer %dn", *t) // t has type *int}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)