エラー
こういう構造体があって
type User struct {
Id int
Connected bool
}
User{0, true}
という構造体をmapに追加してその要素を書き換えようとすると
users := map[int]User{0: User{0, true}}
users[0].Connected = false
cannot assign to struct field users[0].Connected in map
とエラーが出る。
解決策
構造体ごと書き換える
users := map[int]User{0: User{0, true}}
u, ok := users[0]
if ok {
u.Connected = false
}
users[0] = u
値をポインタにする
users := map[int]*User{0: &User{0, true}}
users[0].Connected = false
コメント
他にいいやり方ないですかね。
参考