去学习日常题(5)struct

每次学习并整理一个Golang的知识点,每天进步一点点。今天来学习下结构体的一个知识点。代码片段观察如下代码片段,判断能否编译通过;如果可以,写出输出结果?pa

大家好,关于去学习日常题(5)struct很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

package mainimport (‘fmt’)type s struct {name stringage int}type m struct {age intdict map[string]string}func main() {s1 :=s{‘xujpxm’, 18}s2 :=s{‘xujpxm ‘, 18}if s1==s2 {fmt.Println(‘s1==s2’)} else {fmt.Println(‘s1, s2 不相等’)}m1 :=m{18, map[string]string { ‘name’: ‘xujpxm’}}m2 :=m{18, map[string]string{‘name’: ‘xujpxm’}}if m1==m2 {fmt.Println(‘m1==m2’)} else {fmt.Println(‘m1, m2 不相等’)}}思考后看到答案

答疑解惑

编译失败。输出结果:无效操作: m1==m2(包含map[string]string的struct无法比较)

去学习日常题(5)struct

上面的代码中,s1==s2成立,但是在m1==m2时编译失败,因为结构体中的map无法比较;

本题考查的是结构的比较。有几点需要注意:

结构体只能比较相等性,但相同大小和类型的结构体不能比较。结构是否相同不仅与属性类型有关,还与属性的顺序有关;例如下面的s3和s1是不同的结构; s3:=struct { Age int name string }{age:18,name:’xujpxm’} 如果结构体的所有成员都可以比较,则可以通过==或!=比较结构体是否相等,并逐项进行比较。如果每一项都相等,则两个结构相等,否则不相等;那么什么是可比的呢?常见的有bool、数值类型、字符、指针、数组等,比如slice、map(只能和nil值比较)、函数等不能比较。详细信息请参考Go文档。 http://docs.studygolang.com/ref/spec#Comparison_operators

去学习日常题(5)struct

其他相关答案请在评论区留言!

用户评论

去学习日常题(5)struct
栀蓝

这篇文章真是太好了!总觉得 Go 的 struct 用法挺难懂,你说的这个题简直点明了问题的关键呢!我终于明白为什么有些地方会报错啦,感谢你的分享!

    有10位网友表示赞同!

去学习日常题(5)struct
执拗旧人

今天看到这篇 "Go学习每日一问(5) struct" 的标题就感觉很有意思。没想到你会用这么简单的问题来讲解这种有点抽象的概念,读起来清晰易懂,太赞了!

    有14位网友表示赞同!

去学习日常题(5)struct
暮染轻纱

我之前做项目的时候遇到过类似的结构体问题,当时可是费尽心思才想明白,要是早看到这篇文章就好了!你真是个高手,这种深入浅出地讲解能力简直令人佩服。

    有11位网友表示赞同!

去学习日常题(5)struct
绝版女子

学习 Go 语言确实需要时常巩固和练习,每天一问就能让我更深入地理解这些基础概念。希望以后能够继续更新,学习一个新的 Golang 算法题。

    有16位网友表示赞同!

去学习日常题(5)struct
晨与橙与城

这几天一直在研究 Golang 的结构体,感觉有点头反而容易迷茫。这个 "每日一问" 的思路很棒,能帮助我更好地掌握 Go 的核心语法,期待后续的分享!

    有17位网友表示赞同!

去学习日常题(5)struct
别伤我i

觉得这个问题设计的有点简单?Go 结构体的应用场景其实很多,你能不能再讲一些实际项目中的例子?这样更有说服力和引导性。

    有19位网友表示赞同!

去学习日常题(5)struct
淡抹烟熏妆丶

文章写的挺好,但是我觉得 "每日一问" 这种形式可能太局限了, 难免有些单调。 可以尝试用其他更有趣的的形式来讲解 Go 的内容,比如编程挑战、案例分析等等!

    有15位网友表示赞同!

去学习日常题(5)struct
请在乎我1秒

我虽然不太认同这个说法,我认为 struct 用的场景太多了 你不能把所有问题都归结为 “空指针” 不太妥当吧?应该从更宏观的角度去理解结构体。

    有13位网友表示赞同!

去学习日常题(5)struct
心已麻木i

这篇文章对我来说很有帮助!学习 Go 的时候经常会遇到这样的结构体问题,现在终于明白了为什么会出现这种情况了。下次碰到类似的问题就自信多了!

    有19位网友表示赞同!

去学习日常题(5)struct
凉月流沐@

感觉这篇文章比较基础,没有挑战性,希望你能用一些更深入、更实际的例子来讲解 Go 的结构体,这样我才能学到更多有用的知识。

    有10位网友表示赞同!

去学习日常题(5)struct
见朕骑妓的时刻

虽然这个 "每日一问" 系列挺不错,但这篇文章写的有点重复,和之前的文章内容类似。建议多创新,尝试从更独特角度出发!

    有11位网友表示赞同!

去学习日常题(5)struct
醉红颜

学习Go语言确实需要这样的总结和练习,谢谢分享!这篇文章点明了结构体的问题关键,我之前也遇到过类似的情况,现在终于明白原因是因为空指针引起的。

    有9位网友表示赞同!

去学习日常题(5)struct
風景綫つ

我觉得 Go 語言的結構體設計挺好的,而且你解释的也很清晰。这种“每日一问”的方式非常好,能让我每天学到些许知识,积少成多!

    有6位网友表示赞同!

去学习日常题(5)struct
刺心爱人i

这个"Go学习每日一问(5) struct" 的文章挺实用的,尤其对初学者来说很有帮助。但是我希望你能加入一些更具体的代码示例和讲解实例,这样更直观易懂。

    有12位网友表示赞同!

去学习日常题(5)struct
有阳光还感觉冷

希望以后的文章能涉及到 Go 结构体更复杂的使用场景,比如指针操作、接口定义等,这样就能更加全面地了解结构体的应用!

    有6位网友表示赞同!

去学习日常题(5)struct
岁岁年年

很高兴看到你分享这种学习 Go 的方法,每日一问确实能够帮助我巩固知识。期待你能继续更新,涵盖更多 Golang 方面的知识点。

    有14位网友表示赞同!

去学习日常题(5)struct
╭摇划花蜜的午后

这篇文章有点肤浅啊,只讲了结构体和空指针的问题,却没有深入讨论结构体的优缺点以及与其它数据结构的比较,感觉缺乏深度!

    有20位网友表示赞同!

去学习日常题(5)struct
傲世九天

学习Go语言确实需要不断练习,你提出的 "每日一问" 的问题很有帮助,特别是关于 struct 这类的常见问题。希望能看到更多类似的干货!

    有8位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/126504.html

(0)
小su's avatar小su
上一篇 2024年9月1日 下午9:42
下一篇 2024年9月1日 下午9:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注