无法分配给struct变量

Jay*_*ley 5 go

我有一张地图

var users = make(map[int]User)
Run Code Online (Sandbox Code Playgroud)

我正在填写地图,一切都很好.后来,我想分配给User的一个值,但是我收到一个错误.

type User struct {
  Id int
  Connected bool
}

users[id].Connected = true   // Error
Run Code Online (Sandbox Code Playgroud)

我也尝试编写一个分配给它的函数,但这也不起作用.

pet*_*rSO 8

例如,

package main

import "fmt"

type User struct {
    Id        int
    Connected bool
}

func main() {
    users := make(map[int]User)
    id := 42
    user := User{id, false}
    users[id] = user
    fmt.Println(users)

    user = users[id]
    user.Connected = true
    users[id] = user
    fmt.Println(users)
}
Run Code Online (Sandbox Code Playgroud)

输出:

map[42:{42 false}]
map[42:{42 true}]
Run Code Online (Sandbox Code Playgroud)