Go 資料的型別及預設值
阿新 • • 發佈:2019-01-02
Go語言將資料型別分為四類:基礎型別、複合型別、引用型別和介面型別
- 基礎型別
- 整形
- 有符號整形
int8 int16 int32 int64
預設值0
- 無符號整形
uint8 uint16 uint32 uint64
預設值0
- 特殊整形
int uint byte rune uintptr
預設值0
- 有符號整形
- 浮點型
- 浮點型數
float32 float64
預設值0.0
- 複數型別
complex64 complex128
預設值0+0i
- 浮點型數
- 布林型別
true false
預設值false
- 字串型別
string
預設值""
- 整形
- 複合型別
- 陣列型別
[SIZE]TYPE
預設值根據陣列型別變化而變化 如[3]int
為[0,0,0]
- 結構體型別
struct
預設值根據隨結構體內部型別變化而變化,如下預設值為{ 0}
即Name
為""
Age
為0
type Person struct { Name string Age int }
- 陣列型別
- 引用型別
- 指標
*TYPE
預設值nil
- 切片
[]TYPE
nil
- 字典
map[TYPE][TYPE]
預設值nil
- 通道
chan
預設值nil
- 函式
func
預設值nil
- 指標
- 介面型別
- 介面
interface
預設值nil
- 介面
這裡要特別注意 nil
- 在
Go
中不同型別的nil
是無法比較的,他們的大小也不一樣 - 引用型別中的
slice map chan
要使用make
函式初始化,如果常規var NAME TYPE
的方式宣告,將不能通過正常的賦值方法來修改預設值