不,你不能。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 %t\n", t) // t has type boolcase int: fmt.Printf("integer %d\n", t) // t has type intcase *bool: fmt.Printf("pointer to boolean %t\n", *t) // t has type *boolcase *int: fmt.Printf("pointer to integer %d\n", *t) // t has type *int}