golang 中变量包含类型和值的一个对
    6. 反射机制 - 图1

    1. func main(){
    2. s := "hello world"
    3. fmt.Println(reflect.ValueOf(s)) // hello world,类型reflect.Value
    4. fmt.Println(reflect.TypeOf(s)) // string,类型 reflect.Type
    5. // 接下来可以使用reflect动态创建变量
    6. var s string
    7. t:=reflect.TypeOf(s) // t: string
    8. sptr=reflect.New(t) // sptr:*string
    9. // reflect.New 返回一个指针
    10. sval:=sptr.Elem() // 获取sptr的实际值,类型reflect.Value
    11. ss:=sval.interface().(string) // 转为interface并作类型断言
    12. fmt.Println(ss) // 空字符串
    13. }