Go语言访问C语言数据类型

Go语言访问C语言数据类型

Go语言访问C语言的数据类型,只需要将C语言的代码用注释包围起来,之后紧跟一个import “C”。

之后就可以通过C.{标识符}来获取C语言中的数据类型。可以通过类型转换将其转换到Go语言中的数据类型中。

新创建一个文件夹,里面声明属于包main的文件test2.go

package main

/*
#include <stdio.h>
char ch = 'c';
int num = 10101;
double value = 3.1415;
*/
import "C"
import "fmt"

func main() {
	// 通过C.变量名称 方式访问C语言中的变量
	fmt.Println(C.ch)
	fmt.Println(C.num)
	fmt.Println(C.value)

	fmt.Printf("%T\n", C.ch)
	fmt.Printf("%T\n", C.num)
	fmt.Printf("%T\n", C.value)

	var ch byte
	ch = byte(C.ch)
	fmt.Println(ch)

	var num int
	num = int(C.num)
	fmt.Println(num)

	var value float64
	value = float64(C.value)
	fmt.Println(value)
}

运行结果如下:
在这里插入图片描述
可见,用%T可以输出变量对应C语言中的实际数据类型是什么。直接用println输出或者类型转换为Go中的类型再用println输出,都可以正常输出并显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值