go map不能使用指针作为key

package main

import "fmt"

type student struct {
	name string
	age  int
}

func main() {
	m := make(map[*student]bool)
	s1 := &student{
		name: "a",
		age:  17,
	}
	s2 := &student{
		name: "a",
		age:  17,
	}
	m[s1] = true

	fmt.Println(m[s2])
}

 

因为key是指针类型时比较的是内存地址,不是结构体内容。

 

把key从指针类型改成结构体类型。

posted on 2025-07-18 08:16  王景迁  阅读(10)  评论(0)    收藏  举报

导航