golang 中变量包含类型和值的一个对
func main(){s := "hello world"fmt.Println(reflect.ValueOf(s)) // hello world,类型reflect.Valuefmt.Println(reflect.TypeOf(s)) // string,类型 reflect.Type// 接下来可以使用reflect动态创建变量var s stringt:=reflect.TypeOf(s) // t: stringsptr=reflect.New(t) // sptr:*string// reflect.New 返回一个指针sval:=sptr.Elem() // 获取sptr的实际值,类型reflect.Valuess:=sval.interface().(string) // 转为interface并作类型断言fmt.Println(ss) // 空字符串}
