设为首页 加入收藏

TOP

golang里如何将一个struct指针转换成slice
2014-11-24 07:37:38 来源: 作者: 【 】 浏览:1
Tags:golang 如何 一个 struct 指针 换成 slice

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


package main


import "unsafe"
import "fmt"


func abc() {
type T struct {
a int
b int
c int
}


type SliceHeader struct {
addr uintptr
len int
cap 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] = 7
b[4] = 5
b[8] = 8


fmt.Println(t)


}


func main() {
abc()
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇golang中的defer panic recover 下一篇Linux下如何隐藏命令行参数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)