mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 12:32:21 +00:00
ch2-07-fix typo
This commit is contained in:
parent
e0874ea27e
commit
c6aee9bb17
@ -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内存
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user