Go每日一题(17) 的题目如下

4620 次点击 · 7 赞 ·大约8小时之前 开始浏览   · 来源「Golang修养之路」

下面代码是否可以编译通过?为什么?

package main

import "fmt"

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")
	}
}
4620 阅读
52 回复
zhangwei_go
zhangwei_go · #51 · 4月之前

结构体是相同的,但是结构体属性中有不可以比较的类型,如map,slice,则结构体不能用==比较。

cllgeek
cllgeek · #52 · 22天之前

打卡

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传