go的struct能不能作为map的key - Jxy 博客
结论
struct可以作为map的key,只要其所有字段都是可比较的就行
验证
func MapStructKey() {
// 值类型
var m1 = make(map[User]int)
var user1 = User{
Id: 1,
Name: "xj",
}
m1[user1] = 1
fmt.Println("m1[user1]:", m1[user1])
// 引用类型
var m2 = make(map[*User]int)
var user2 = &User{
Id: 2,
Name: "xj2",
}
m2[user2] = 2
fmt.Println("m2[user2]:", m2[user2])
}
m1[user1]:1
m2[user2]:2
网友评论