最简单的解决方案是将结构的字段定义更改为char-pointer,这对于C语言中的字符串是非常标准的:
typedef struct {
char *field1;
} S1
更复杂的解决方案是[1]:
arr := [256]C.char{}
for i := 0; i < len(mystr) && i < 255; i++ { // leave element 256 at zero
arr[i] = C.char(mystr[i])
}
s1 := &C.S1{field1: arr}
[1]未经测试的代码,无法在此工作站上编译。