Golang-數據類型與變量
1. 基本數據類型
類型名稱 | 長度 | 取值範圍 |
---|---|---|
布爾型 bool | 1字節 | true, false |
整型 int/uint | 32或64位 | |
8位整型 int8/uint8 | 1字節 | -128~127/0~255 |
字節型 byte | 注:是uint8的別名 | |
16位整型 int16/uint16 | 2字節 | -32768~32767/0~65535 |
32位整型 int32/uint32 | 4字節 | ~/0~ |
64位整型 int64/uint64 | 8字節 | ~/0~ |
浮點型 float32/float64 | 4/8字節 | 精確到7/15位小數 |
複數 complex64/complex128 | 8/16字節 |
還有一些其他數據的數據類型
- 引用類型:指針,slice,map,管道chan,interface
- 接口類型:interface
- 函數類型:func
注:不可以用數字代表true
或false
注:使用別名可以增強代碼的可讀性
2. 類型零值
零值不等於空值,而是當被變量聲明後的默認值,通常情況下的默認值爲0
,bool
爲false
,string
爲空字符串。
3. 變量的聲明與賦值
在go語言當中存在多種變量的賦值方式
3.1 聲明變量
//聲明一個變量a爲int型
var a int
//爲變量a賦值
a = 1
//聲明並賦值一個爲int型的變量b
var b int = 2
//聲明並賦值一個爲int型的變量c
var c = 3
//聲明並賦值一個爲int型的變量d
d := 4
你們可能已經注意到當聲明變量c
的時候沒有爲他指定變量的類型,這是go
語言的自動判斷機制,go
語言會根據你爲變量所賦的值字段判斷數據類型
注:指定數據類型也是有用的,假如你想聲明一個float
類型的數據,但是聲明是沒有爲他指定數據類型,那麼後期操作的時候就會報錯
變量d
的聲明是最爲簡單的,連關鍵字var
都一併進行了省略
3.2 並行的聲明多個變量
//並行聲明當然也可以應用上面的省略操作
var h,e,l,o int = 1,2,3,5
//go語言可以使用空白符來接受賦值用_表示
var g,_,o int = 1,2,3
4. 類型轉換
go語言可以進行類型轉換,但是轉換的數據之間必須是兼容的,你不能把一個bool
值轉換爲int
值
//可以使用這樣進行強制類型轉換
var a float32 = 1.1
b := int(a)