C 语言作为最古老的一门编程语言之一,其具有大量的高性能的函数库,很多语言都提供了C 语言的调用接口,GO 作为新时代的开拓者,同时也应该站在巨人的肩膀上, CGO 就是一个提供 GO 和 C 相互调用的桥梁工具。
CGO 的基本语法
在 GO 中调用 C:package main
//
import "C"
func main() {
C.puts(C.CString("vim-go"))
}
直接在go的源码里面加入import "C"就可以导入CGO。
在import "C"前面的注释会被默认成 C 代码(不能空行,必须在顶行相连)
这里的 “C” 不是包名,而是一种类似名字空间的概念,或可以理解为伪包,C语言所有语法元素均在该伪包下面如C.uint、C.print、C.free等。