Cgo即是语言特性,同时也是一个工具的名称。
代码如下:
package main
import "C"
import "unsafe"
func main() {
cstr := C.CString("Hello,world")
C.puts(cstr)
C.free(unsafe.Pointer(cstr))
}
运行结果如下:
# command-line-arguments
.\main.go:9:2: could not determine kind of name for C.free
.\main.go:8:2: could not determine kind of name for C.puts
修改内容,代码如下:
package main
/*
#include <stdio.h>
#include <stdlib.h>
*/
import "C"
import "unsafe"
func main() {
cstr := C.CString("Hello,world")
C.puts(cstr)
C.free(unsafe.Pointer(cstr))
}
运行结果如下:
Hello,world