尽管您可以自己进行指针算术运算,但先将C数组转换为Go slice更加安全便捷。
arraySize := 3cStrings := (*[1 << 30]*C.char)(unsafe.Pointer(&C.myStringArray))[:arraySize:arraySize]for _, cString := range cStrings { fmt.Println(C.GoString(cString))}// prints:// NAME_OF_FIRST_THING// NAME_OF_SECOND_THING// NAME_OF_THIRD_THING相关的CGO Wiki条目:https : //github.com/golang/go/wiki/cgo#turning-c-arrays-into-go-
slices



