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

ch2-01改错词

This commit is contained in:
wahaha 2018-06-16 19:50:34 +08:00 committed by GitHub
parent cfa80db8b6
commit 3ff6888c4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -154,7 +154,7 @@ func SayHello(s *C.char) {
}
```
我们通过CGO的`//export SayHello`指令将Go语言实现的函数`SayHello`导出为C语言函数。为了适配CGO导出的C语言函数我们禁止了在函数的声明语句中的const修饰符。需要主要的是,这里其实有两个版本的`SayHello`函数一个Go语言环境的另一个是C语言环境的。cgo生成的C语言版本SayHello函数最终会通过桥接代码调用Go语言版本的SayHello函数。
我们通过CGO的`//export SayHello`指令将Go语言实现的函数`SayHello`导出为C语言函数。为了适配CGO导出的C语言函数我们禁止了在函数的声明语句中的const修饰符。需要注意的是,这里其实有两个版本的`SayHello`函数一个Go语言环境的另一个是C语言环境的。cgo生成的C语言版本SayHello函数最终会通过桥接代码调用Go语言版本的SayHello函数。
通过面向C语言接口的编程技术我们不仅仅解放了函数的实现者同时也简化的函数的使用者。现在我们可以将SayHello当作一个标准库的函数使用和puts函数的使用方式类似