【发布时间】:2018-02-16 02:14:21
【问题描述】:
在 Golang Wiki 的 CGO 部分,有一个 article 解释了如何创建由 C 数组支持的 Go 切片。在文章中有一段代码片段详细说明了转换,该 sn-p 中最重要的语句如下:
slice := (*[1 << 30]C.YourType)(unsafe.Pointer(theCArray))[:length:length]
除了[1 << 30] 部分之外,声明中的所有内容对我来说都是有意义的。你能解释一下为什么需要这样做吗?
【问题讨论】: