資料型別 - Go 學習記錄

Ali發表於2019-02-25

數字型別

Go 語言支援整型和浮點型數字,並且支援複數,其中位的運算採用補碼

  • int 整型
  • float32,float64 浮點型 32位浮點型數,64位浮點型數
  • uint8,uint16,uint32,uint64 無符號整型 (8:0-255,16:0-65535,32:0-4294967295,64:0-18446744073709551615)
  • int8,int16,int32,int64 有符號整型 (-128 到 127,-32768 到 32767,-2147483648 到 2147483647,-9223372036854775808 到 9223372036854775807)
  • complex64 浮點型 32位實數和虛數
  • complex128浮點型 64位實數和虛數

其他數字型別

  • byte 類似uint8
  • rune 類似int32
  • uint 32位或者64位
  • int 與uint一樣大小
  • uintptr 無符號整型,用於存放一個指標

字串型別

字串就是一串固定長度的字元連線起來的字元序列。
Go 的字串是由單個位元組連線起來的。
Go 語言的字串的位元組使用 UTF-8 編碼標識 Unicode 文字。

布林型

布林型的值只可以是常量 true 或者 false。例子:var b bool = true。 注意:不能為其他型別

派生型別

  • 指標型別(Pointer)
  • 陣列型別
  • 結構化型別 (struct)
  • Channel 型別 (chan)
  • 函式型別 (func)
  • 切片型別 (slice)
  • 介面型別 (interface)
  • Map 型別 (map)

注意

  • 型別零值不是空值,而是某個變數被宣告後的預設值,
  • 一般情況下,值型別的預設值為0,
  • 一般情況下,布林預設值為false
  • 一般情況下,字串型別預設值為空字串

型別別名

通過 type 進行定義,如下

    type 整型 int32
    var  zhengxing 整型 = 1 
    fat.Print(zhengxing) // 列印會輸出 1

注意:型別別名不能參與計算,相同別名的型別是可以的參與計算的,如下

    type 整型 int32
    var  zhengxing 整型 = 1 
    var jisuan int32 = 1
    fat.Print(zhengxing + jisuan) // 不能參與計算
    var zhengxing1 整型 = 1
    fat.Print(zhengxing + zhengxing1) // 是可以計算的

如想看教程同步的程式碼移步 GitHub 地址。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

高永立

相關文章