私はこのコードが機能することを期待していました:
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に対するものであるか、まったく間違っています。:/