浅谈CGO

C 语言作为最古老的一门编程语言之一,其具有大量的高性能的函数库,很多语言都提供了C 语言的调用接口,GO 作为新时代的开拓者,同时也应该站在巨人的肩膀上, CGO 就是一个提供 GO 和 C 相互调用的桥梁工具。

CGO 的基本语法

GO 中调用 C:

1
2
3
4
5
6
7
8
9
package main


//#include <stdio.h>
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等。

shikanon wechat
欢迎您扫一扫,订阅我滴↑↑↑的微信公众号!