序号 | c语言类型 | Go-CGO-C类型 | Go类型 | 字节数 |
---|
0 | char | C.char | byte | 1 |
1 | singed char | C.schar | int8 | 1 |
2 | unsigned char | C.uchar | uint8 | 1 |
3 | short | C.short | int16 | 2 |
4 | unsigned short | C.short | uint16 | 2 |
5 | int | C.int | int32 | 4 |
6 | unsigned int | C.uint | uint32 | 4 |
7 | long long int | C.longlong | uint64 | 8 |
8 | unsigned long long int | C.ulonglong | uint64 | 8 |
9 | float | C.float | float32 | 4 |
10 | double | C.double | float64 | 8 |
11 | size_t | C.size_t | uint | 4/8 |
示例
package main
import "C"
import (
"fmt"
"unsafe"
)
func main() {
buff := make([]byte, 8)
C.SayHello((*C.char)(unsafe.Pointer(&buff[0])), C.int(len(buff)))
a := string(buff)
fmt.Println(a)
}