[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,這種情況編譯失敗;
### **數組比較問題**
數組只有相同類型才能比較,否則報錯
即:類型和長度都相同才能比較,而且是比較是否相等
### **結構體比較問題**
### **結構體比較問題**
### **結構體比較問題**
### **關鍵字**

- Go準備工作
- 依賴管理
- Go基礎
- 1、變量和常量
- 2、基本數據類型
- 3、運算符
- 4、流程控制
- 5、數組
- 數組聲明和初始化
- 遍歷
- 數組是值類型
- 6、切片
- 定義
- slice其他內容
- 7、map
- 8、函數
- 函數基礎
- 函數進階
- 9、指針
- 10、結構體
- 類型別名和自定義類型
- 結構體
- 11、接口
- 12、反射
- 13、并發
- 14、網絡編程
- 15、單元測試
- Go常用庫/包
- Context
- time
- strings/strconv
- file
- http
- Go常用第三方包
- Go優化
- Go問題排查
- Go框架
- 基礎知識點的思考
- 面試題
- 八股文
- 操作系統
- 整理一份資料
- interface
- array
- slice
- map
- MUTEX
- RWMUTEX
- Channel
- waitGroup
- context
- reflect
- gc
- GMP和CSP
- Select
- Docker
- 基本命令
- dockerfile
- docker-compose
- rpc和grpc
- consul和etcd
- ETCD
- consul
- gin
- 一些小點
- 樹
- K8s
- ES
- pprof
- mycat
- nginx
- 整理后的面試題
- 基礎
- Map
- Chan
- GC
- GMP
- 并發
- 內存
- 算法
- docker