diff --git a/ch1-basic/ch1-04-func-method-interface.md b/ch1-basic/ch1-04-func-method-interface.md index ee6236e..34c9551 100644 --- a/ch1-basic/ch1-04-func-method-interface.md +++ b/ch1-basic/ch1-04-func-method-interface.md @@ -245,13 +245,13 @@ f, _ := OpenFile("foo.dat") // 绑定到了 f 对象 // func Close() error -var Close = func Close() error { +var Close = func() error { return (*File).Close(f) } // 绑定到了 f 对象 // func Read(offset int64, data []byte) int -var Read = func Read(offset int64, data []byte) int { +var Read = func(offset int64, data []byte) int { return (*File).Read(f, offset, data) } diff --git a/ch2-cgo/ch2-03-cgo-types.md b/ch2-cgo/ch2-03-cgo-types.md index 8fbb53f..ab5a188 100644 --- a/ch2-cgo/ch2-03-cgo-types.md +++ b/ch2-cgo/ch2-03-cgo-types.md @@ -326,8 +326,10 @@ static char arr[10]; static char *s = "Hello"; */ import "C" -import "fmt" - +import ( + "reflect" + "unsafe" +) func main() { // 通过 reflect.SliceHeader 转换 var arr0 []byte diff --git a/ch2-cgo/ch2-05-internal.md b/ch2-cgo/ch2-05-internal.md index 1dc0777..a5e09ea 100644 --- a/ch2-cgo/ch2-05-internal.md +++ b/ch2-cgo/ch2-05-internal.md @@ -162,7 +162,7 @@ func main() {} CGO的语法细节不在赘述。为了在C语言中使用sum函数,我们需要将Go代码编译为一个C静态库: ``` -$ go build -buildmode=c-archive -o sum.a sum.go +$ go build -buildmode=c-archive -o sum.a main.go ``` 如果没有错误的话,以上编译命令将生成一个`sum.a`静态库和`sum.h`头文件。其中`sum.h`头文件将包含sum函数的声明,静态库中将包含sum函数的实现。