gopherchina2018-cgo-talk
gopherchina2018-cgo-talk copied to clipboard
7.7的转换, 是不是这样写更清晰点
// int32 => *C.char
var x = int32(9527)
var p *C.char = (*C.char)(unsafe.Pointer(&x))
// *C.char => int32
var q int32 = *(*int32)(unsafe.Pointer(p))
原来的代码要表达的是将 9527这个值转型为 *C.char
类型,并不是要取x 的地址(我们也不知道x的地址是多少)。两者完全不同的意思