在GO
访问切片的基础数组,可以使用反射和不安全的组合。以下方法:[使用反射和unsudafe
使用Refflect.slice.slice.sliceheader获取slice的元数据,包括指向基础的数组(HDR.DATA)(HDR.Data)。 unsafe.pointer。这是一个示例调整GO文档:
s:= [] int {1,2,2,3,4} hdr:=(*反射sliceheader)(unsafe.pointer(&s)) 数据:= *( *[4] int)(unsafe.pointer(hdr.data))
注:由于使用不安全,谨慎处理内存管理是必不可少的。[&& && && && && && &&&华[https://blog.golang.org/go-slices-usage-and-internals)。免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3