
1. 基本类型转换较简单,直接用强制类型转换就可以,如下:
Go转换成C:variintci:=C.int(i)C转换成Go:variC.intgoi:=int(i)
2. 字符串类型转换也不是很难,有一点需要注意,就是在将C语言中的char数组转换成Go的string时需要做一点小修改,如下:
Go转换成C:varstrstringcstr:=C.CString(str)C转换成Go:/*#include<stdlib.h>#include<stdio.h>charfoo[]="hellofoo";char*bar="hellobar";*/import"C"import"fmt"funcmain(){fmt.Printf("%s\n",C.GoString(&C.foo[0]))fmt.Printf("%s\n",C.GoString(C.bar))} 3. 数组类型转换
以下用int和float数组为例子,如下:
/*#include<stdio.h>intcIArray[]={1,2,3,4,5,6,7};floatcFArray[]={1.011,2.022,3.022,4.023,5.02,6.03,7.045};*/import"C"import"fmt"funcmain(){goIArray:=C.cIArray[:]fmt.Println(goIArray)goFArray:=C.cFArray[:]fmt.Println(goFArray)} 总结 以上是内存溢出为你收集整理的Go语言中调用C语言----类型转换篇全部内容,希望文章能够帮你解决Go语言中调用C语言----类型转换篇所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)