Shadow
golang的类型和内存地址打印
golang的类型和内存地址打印
var (
//这个方式切片,默认不分配内存,需要再初始化才能使用
a []int
//make初始化切片已经分配内存,可以直接使用
a1 = make([]int,10)
//这个方式map,默认不分配内存,不能直接使用
b map[string]string
//make初始化map已经分配内存,可以直接使用
b1 = make(map[string]string)
//字符串类初始化就已经生成内存可以直接使用
c string
)
fmt.Printf("a的值:%v,类型:%v,内存地址:%p\n",a,reflect.TypeOf(a),a) //a的值:[],类型:[]int,内存地址:0x0
fmt.Printf("a1的值:%v,类型:%v,内存地址:%p\n",a1,reflect.TypeOf(a1),a1) //a1的值:[0 0 0 0 0 0 0 0 0 0],类型:[]int,内存地址:0xc000012280
fmt.Printf("b的值:%v,类型:%v,内存地址:%p\n",b,reflect.TypeOf(b),b) //b的值:map[],类型:map[string]string,内存地址:0x0
fmt.Printf("b1的值:%v,类型:%v,内存地址:%p\n",b1,reflect.TypeOf(b1),b1) //b1的值:map[],类型:map[string]string,内存地址:0xc00006e4b0
fmt.Printf("c的值:%v,类型:%v,内存地址:%p\n",c,reflect.TypeOf(c),&c) //c的值:,类型:string,内存地址:0xc000034250
Dcr163的博客
http://dcr163.cn/580.html(转载时请注明本文出处及文章链接)