ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ### **结构体比较问题** * 结构体只能比较是否相等,但是不能比较大小。 * 相同类型的结构体才能够进行比较,结构体是否相同不但与属性类型有关,还与属性顺序相关 * 如果 struct 的所有成员都可以比较,则该 struct 就可以通过 == 或 != 进行比较是否相等,比较时逐个项进行比较,如果每一项都相等,则两个结构体才相等,否则不相等 ### **类型别名与类型定义的区别** * 注意类型别名的定义时 = ~~~go type MyInt1 int //新的类型 type MyInt2 = int //int的类型别名 ~~~ ### **init() 函数有几个需要注意的地方** * init() 函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等; * 一个包可以出线多个 init() 函数,一个源文件也可以包含多个 init() 函数; * 同一个包中多个 init() 函数的执行顺序没有明确定义,但是不同包的init函数是根据包导入的依赖关系决定的(看下图); * init() 函数在代码中不能被显示调用、不能被引用(赋值给函数变量),否则出现编译错误; * 一个包被引用多次,如 A import B,C import B,A import C,B 被引用多次,但 B 包只会初始化一次; * 引入包,不可出现死循坏。即 A import B,B import A,这种情况编译失败;![](https://img.kancloud.cn/e4/3d/e43dd7d5182b61a30c7c1ad7de58b71b_948x419.png) ### **数组比较问题** 数组只有相同类型才能比较,否则报错 即:类型和长度都相同才能比较,而且是比较是否相等 ### **结构体比较问题** ### **结构体比较问题** ### **结构体比较问题** ### **关键字** ![](https://img.kancloud.cn/18/73/1873c0756fc23aaf3e4fc9cf13b37804_1128x300.png)