1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-24 04:22:22 +00:00

ch2-07-fix typo

This commit is contained in:
sfw 2018-06-21 18:36:15 +08:00
parent e0874ea27e
commit c6aee9bb17

View File

@ -224,7 +224,7 @@ func main() {
}
```
在printString函数中我们通过NewGoString创建一个对应的Go字符串对象返回的其实是一个ID不能直接使用。我们借助PrintGoString函数将id解析为Go语言字符串后打印。该字符串在C语言函数中完全跨越了Go语言的内存管理在PrintGoString调用前即使发生了栈伸缩导致的Go字符串地址发生变化也依然可以正常工作因为该字符串对应的id是稳定的在Go语言空间通过id解码得到的字符串也就是有效的。
在printString函数中我们通过NewGoString创建一个对应的Go字符串对象返回的其实是一个id不能直接使用。我们借助PrintGoString函数将id解析为Go语言字符串后打印。该字符串在C语言函数中完全跨越了Go语言的内存管理在PrintGoString调用前即使发生了栈伸缩导致的Go字符串地址发生变化也依然可以正常工作因为该字符串对应的id是稳定的在Go语言空间通过id解码得到的字符串也就是有效的。
## 导出C函数不能返回Go内存