From 86e36a4444105b052aaf824c783fee116c23a738 Mon Sep 17 00:00:00 2001 From: PaiGack <42209827+PaiGack@users.noreply.github.com> Date: Mon, 24 Apr 2023 21:07:17 +0800 Subject: [PATCH] Update ch2-03-cgo-types.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 直接通过指针做强制类型转化,那么指定的 ```数组``` 大小不应该超过原先的数组大小,否则会出现访问到意外的数据。 --- ch2-cgo/ch2-03-cgo-types.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ch2-cgo/ch2-03-cgo-types.md b/ch2-cgo/ch2-03-cgo-types.md index b569cf26..b04fbc59 100644 --- a/ch2-cgo/ch2-03-cgo-types.md +++ b/ch2-cgo/ch2-03-cgo-types.md @@ -340,7 +340,7 @@ func main() { arr0Hdr.Cap = 10 // 通过切片语法转换 - arr1 := (*[31]byte)(unsafe.Pointer(&C.arr[0]))[:10:10] + arr1 := (*[10]byte)(unsafe.Pointer(&C.arr[0]))[:10:10] var s0 string var s0Hdr = (*reflect.StringHeader)(unsafe.Pointer(&s0)) @@ -348,7 +348,7 @@ func main() { s0Hdr.Len = int(C.strlen(C.s)) sLen := int(C.strlen(C.s)) - s1 := string((*[31]byte)(unsafe.Pointer(C.s))[:sLen:sLen]) + s1 := string((*[5]byte)(unsafe.Pointer(C.s))[:sLen:sLen]) } ```