我本来希望这段代码可以工作:
package main
type Item struct {
Key string
Value string
}
type Blah struct {
Values []Item
}
func main() {
var list = [...]Item {
Item {
Key : "Hello1",
Value : "World1",
},
Item {
Key : "Hello1",
Value : "World1",
},
}
_ = Blah {
Values : &list,
}
}
我认为这是正确的做法;值是一个切片,列表是一个数组。&list 应该是一个切片,可以分配给 Item[],对吧?
...但是相反,它会出现以下消息错误:
cannot use &list (type *[2]Item) as type []Item in assignment
在 C 中,你会写:
struct Item {
char *key;
char *value;
};
struct Blah {
struct Item *values;
};
你如何在 Go 中做到这一点?
我看到了这个问题: 使用指向数组的指针
...但是答案要么是针对 Go 的先前版本,要么就是完全错误的。:/