最近學習go非常好用,踩了兩個容易出錯的點記錄一下
1 go定義一個chan后,通道是 無緩沖 的, 必須make一下,要不然發給它,它也不響應
2、go的結構體成員只有 可導出
的字段才會被 編碼/解碼。必須以大寫字母開頭的字段才是可導出的
var data struct { Size uint16 Version uint8 } r := bytes.NewReader(message) if err := binary.Read(r, binary.LittleEndian, &data); err != nil { fmt.Println("binary.Read failed:", err) }