3、map的定义方式改为map<Node,int, cmp>mapStudent; 如: #include <map>#include<iostream>#include<string>usingnamespacestd;structNode{intid;stringname; }StudentInfo,*pStudentInfo;//学生信息structcmp {booloperator() (Node a, Node b) {//指定排序策略,按nID排序,如果nID相等的话,按strName排序if...
[go的struct能不能作为map的key - Jxy 博客](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.Pr...
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 ...
在Golang中,slice(切片)不能作为map的key。map在Golang中的实现是基于哈希表的,而哈希表的key需要满足可比较性和唯一性的要求。但是切片是不可比较的类型,因为切片是一个动态长度的数据结构,无法直接比较大小或相等性。 如果您想要以切片作为map的key,可以考虑使用字符串类型来代替切片。将切片转换为字符串,并将...