编程语言
首页 > 编程语言> > Go圣经学习笔记——底层编程

Go圣经学习笔记——底层编程

作者:互联网

Go底层编程

Go语言的语言特性, 隐藏许多细节:

有时候需要更好的性能, 这就设计底层的操作,unsafe可以摆脱Go的规则(正常不建议使用!), unsafe包由编译器实现,供了一些访问语言内部特性的方法,特别是内存布局相关的细节。被广泛的使用在runtimeossyscall还有net等涉及与os相关的包。

1.1 unsafe

1.1.1 unsafe.Sizeof()

类型 大小
bool 1个字节
intN, uintN, floatN, complexN N/8个字节(例如float64是8个字节)
int, uint, uintptr 1个机器字
*T 1个机器字
string 2个机器字(data、len)
[]T 3个机器字(data、len、cap)
map 1个机器字
func 1个机器字
chan 1个机器字
interface 2个机器字(type、value)

1.1.2 unsafe.Alignof()

1.1.3 unsafe.Offsetof()

1.1.4 unsafe.Pointer()

1.2 cgo调用c代码

1.3 总结

标签:字节,机器字,编程,unsafe,笔记,类型,内存,Go
来源: https://www.cnblogs.com/Lysz1996/p/16205830.html