二行不能理解的代码

zjfy286 · · 3719 次点击
你如果会C的话就很容易理解: char buf[xxx] =....; //开个大空间 header = (stringHeader *)&buf[0] ; //把刚才的空间看成一个结构 结构体内的data指针是一样的原理, 只不过指向自己内部的一个空间 , 不过这里的‘h' 'c'前面的1怎么回事
#2
更多评论
fmt.Println(*(*string)(unsafe.Pointer(ptr))) 这行用的是ptr 不解
#1
打印出ptr就是为了展示,当header结构体中的第一个属性的地址改变的时候,并不修改改变量原来的地址所引用的值的意思吧。如果不是这样,ptr打印出来就是'h'了。
#3