首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

golang里怎么将一个struct指针转换成slice

2013-03-13 
golang里如何将一个struct指针转换成slice废话不说了,直接上代码package mainimport unsafeimport fmt

golang里如何将一个struct指针转换成slice

废话不说了,直接上代码

package mainimport "unsafe"import "fmt"func abc() {type T struct {a intb intc int}type SliceHeader struct {addr uintptrlen  intcap  int}t := &T{a: 1, b: 2, c: 3}p := unsafe.Sizeof(*t)println(int(p))sl := &SliceHeader{addr: uintptr(unsafe.Pointer(t)),len:  int(p),cap:  int(p),}b := *(*[]byte)(unsafe.Pointer(sl))println(len(b))fmt.Println(b)b[0] = 7b[4] = 5b[8] = 8fmt.Println(t)}func main() {abc()}


热点排行