cgo之简介
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cgo之简介相关的知识,希望对你有一定的参考价值。
cgo可以认为是在go语言中调用c程序,或者在c程序中调用go程序。我们先看一个最简单例子
package main
import "C"
func main()
println("hello")
比普通的go程序多了一行import "C",但是我们发现虽然启动了cgo特性,但是实际上我们并没有使用它,并且还不会报错。但是编译的时候需要用到gcc编译器。
那如何在go文件中执行c的方法呢?
package main
//#include <stdio.h>
import "C"
func main()
C.puts(C.CString("Hello, World\\n"))
首先import "C"是必须要有的,在这句话上面,放的就是c语言方面的内容,例如include就是需要引用的类库,这是固定格式,在import "C"上面加上//,后面就是包含语句。当然如果有多条语句的话可以使用/**/这样的注释。
下面调用c中的puts方法数据字符串。
int puts( char *str );
这是c语言puts的函数说明,C.CString就是把go语言中字符串表示形式转换成c语言字符串表示形式。
以上是关于cgo之简介的主要内容,如果未能解决你的问题,请参考以下文章