Go 面试每天一篇(第 5 天)

874 阅读1分钟

1.下面这段代码能否通过编译?不能的话,原因是什么?如果通过,输出什么?

func main() {
	sn1 := struct {
		age  int
		name string
	}{age: 11, name: "qq"}
	sn2 := struct {
		age  int
		name string
	}{age: 11, name: "qq"}

	if sn1 == sn2 {
		fmt.Println("sn1 == sn2")
	}

	sm1 := struct {
		age int
		m   map[string]string
	}{age: 11, m: map[string]string{"a": "1"}}
	sm2 := struct {
		age int
		m   map[string]string
	}{age: 11, m: map[string]string{"a": "1"}}

	if sm1 == sm2 {
		fmt.Println("sm1 == sm2")
	}
}

欢迎扫码关注公众号「Golang来啦」或者移步 seekload.net ,查看最新面试题及答案。

公众号二维码