ZBLOG

golang map类型 限定map 的key

您好,作为一名资深软件工程师,我很高兴回答您的问题。

在 Golang 中,可以使用 struct 类型来限定 map 的 key。例如:

type Person struct {
    Name string
    Age int
}

func main() {
    personMap := make(map[Person]string)
    p1 := Person{Name: "Alice", Age: 20}
    p2 := Person{Name: "Bob", Age: 30}
    
    personMap[p1] = "Person 1"
    personMap[p2] = "Person 2"
    
    fmt.Println(personMap[p1]) // Output: Person 1
}

在上面的例子中,我们定义了一个 Person 结构体类型,并将其用作 map 的 key 类型。这样就可以通过比较两个 Person 实例的值来判断它们是否相等。

需要注意的是,如果结构体类型中包含指针或函数字段,则不能用作 map 的 key 类型。因为指针和函数是不可比较的类型,无法确定两个实例是否相等。

希望我的回答能够解决您的疑惑。如有任何问题,请随时提出。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=3070

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?