GO語言學習(三)---數據類型、變量、常量


數據類型

1 布爾型

布爾型的值只可以是常量 true 或者 false。一個簡單的例子:var b bool = true。

2 數字類型

整型 int 和浮點型 float32、float64,Go 語言支持整型和浮點型數字,並且原生支持復數,其中位的運算采用補碼。
整型

序號 類型 描述
1 uint8 無符號 8 位整型 (0 到 255)
2 uint16 無符號 16 位整型 (0 到 65535)
3 uint32 無符號 32 位整型 (0 到 4294967295)
4 uint64 無符號 64 位整型 (0 到 18446744073709551615)
5 int8 有符號 8 位整型 (-128 到 127)
6 int16 有符號 16 位整型 (-32768 到 32767)
7 int32 有符號 32 位整型 (-2147483648 到 2147483647)
8 int64 有符號 64 位整型 (-9223372036854775808 到 9223372036854775807)

浮點型

序號 類型 描述
1 float32 IEEE-754 32位浮點型數
2 float64 IEEE-754 64位浮點型數
3 complex64 32 位實數和虛數
4 complex128 64 位實數和虛數

其他數字類型

序號 類型 描述
1 byte 類似uint8
2 rune 類似int32
3 uint 32或64位
4 int 與uint一樣大小
5 uintptr 無符號整型,用於存放一個指針

變量

1 變量聲明方式有三種

(1)指定變量類型,聲明后若不賦值,則使用默認值
var v_name v_type
v_name = value
(2)不指定變量類型,聲明后賦值,go語言會自動判斷數據類型
var v_name = value
(3)省略var關鍵字,聲明的時候要賦值,使用:=聲明和賦值。注意:=號左邊的變量不能是已經聲明過的變量
v_name := value
第三種變量聲明方式只能用在函數體內,不能用於全局變量。使用:=操作符可以高效的創建一個新的變量。
(4)多變量聲明,使用逗號隔開
var v_name1 , v_name2
var v_name1 , v_name2 = 1, 2

常量

常量是一個簡單值的標識符,在程序運行時,不會被修改的量。
常量中的數據類型只可以是布爾型、數字型(整數型、浮點型和復數)和字符串型。
常量的定義格式:

const identifier [type] = value

你可以省略類型說明符 [type],因為編譯器可以根據變量的值來推斷其類型。

const b string = "abc" //顯式類型定義
const b = "abc" //隱式類型定義

多個相同類型的聲明可以簡寫為:

const c_name1, c_name2 = value1, value2

常量還可以用作枚舉:

const ( Unknown = 0 Female = 1 Male = 2 )

數字 0、1 和 2 分別代表未知性別、女性和男性。
常量可以用len(), cap(), unsafe.Sizeof()函數計算表達式的值。常量表達式中,函數必須是內置函數,否則編譯不過。

iota
特殊常量,可以認為是一個可以被編譯器修改的常量。
在每一個const關鍵字出現時,被重置為0。
然后再下一個const出現之前,每個常量都會將iota加1,,不管它是什么類型。

const (
    a = iota   //0 
    b          //1
    c          //2
    d = "ha"   //獨立值,iota += 1
    e          //"ha" iota += 1
    f = 100    //iota +=1
    g          //100 iota +=1
    h = iota   //7,恢復計數
    i          //8
    )
const (
    j = iota  //0.重新開始從0計數
    k         //1
)

參考

[1]http://www.runoob.com/go/go-data-types.html


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com