c可以这样写直接将数组直接当作整形读出来
char* buf = {0x1,0x2,0x3,0x4}
int val = ((int)buf)
go有这么样的语法么?直接吧slice直接转换成整形读出来
有疑问加站长微信联系(非本文作者)

c可以这样写直接将数组直接当作整形读出来
char* buf = {0x1,0x2,0x3,0x4}
int val = ((int)buf)
go有这么样的语法么?直接吧slice直接转换成整形读出来
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
不了解c,go的话,读出来类型转换不就行了int()
我是向直接在数组的地址上直接读取整形.类型转换是读取一个字节,然后将字节转换成整形.结果是不同的.
bytes转int吧。 这个至少有高低位啊
https://golang.org/pkg/encoding/binary/
我的帖子有错误 c的写法是 int val = ((int)buf) go的写法我也找到了.区别有二 其一:go的数组名并不是数组首个元素的地址 其二:指针强制转换要借住unsafe转换成void (int32)(unsafe.Pointer(&buf[0]))
我的帖子有错误 c的写法是 int val = ((int)buf)
go的写法我也找到了.
区别有二
其一:go的数组名并不是数组首个元素的地址
其二:指针强制转换要借住unsafe转换成void (int32)(unsafe.Pointer(&buf[0]))
我帖子c的写法没错,是发帖的时候删掉了所有的星号和换行.囧