1. 程式人生 > >Go語言從入門到放棄(三) 數據類型

Go語言從入門到放棄(三) 數據類型

最快 ted sort types operation border oat color sum

本章主要介紹Go語言的數據類型

布爾(bool)

布爾指對或者錯,也就是說bool只有兩個值, True 或 False

兩個類型相同的值可以使用比較運算符來得出一個布爾值

當兩個值是完全相同的情況下會返回 True,否則返回 False。

package main

var suma int = 11
var sumb int = 11

func main()  {
    print(suma == sumb)
}

上方的代碼返回 true

如果值不相同返回 false

如果變量類型不一樣會報錯

package main

var suma int
= 11 var sumb int8 = 12 func main() { print(suma == sumb) }
invalid operation: suma == sumb (mismatched types int and int8)

邏 輯 值 可 以 被 用 於 條 件 結 構 中 的 條 件 語 句, 以 便 測 試 某 個 條 件 是 否 滿 足。 另 外, 和 &&、 或 | | 與 相 等 = = 或 不 等 != 屬 於 二 元 運 算 符, 而 非 ! 屬 於 一 元 運 算 符。

!運算符指的是非運算符,非 運 算 符 用 於 取 得 和 布 爾 值 相 反 的 結 果。

當!後的值為 true 時會反轉成 false

falses 時同理

package main

var aVar int = 10

func main()  {
    print(!(aVar != 5))
}

返回 false

和運算符 &&

只有當兩邊都為 true 時才是 true

package main

var aVar int = 10

func main()  {
    print(aVar != 5 && aVar !=10)
}

結果為 false

或運算符 ||

只有當兩邊值都為 false 時才是 false

package main

var aVar int = 10

func main()  {
    print(aVar != 5 || aVar !=10)
}

結果為 true

對 於 布 爾 值 的 好 的 命 名 能 夠 很 好 地 提 升 代 碼 的 可 讀 性, 例 如 以 is 或 者 Is 開 頭 的 isSorted、 isFinished、 isVisivle, 使 用 這 樣 的 命 名 能 夠 在 閱 讀 代 碼 的 獲 得 閱 讀 正 常 語 句 一 樣 的 良 好 體 驗, 例 如 標 準 庫 中 的 unicode.IsDigit( ch)

數字類型

數字類型大體可分為整形 int 和浮點型 float

需要註意的是,int和unit和unitptr長度是由程序所在的操作系統決定的

  如果在32位操作系統,int和unit占32位(4字節)

  64位則占64位(8字節)

  uintptr 長度為足夠存放一個指針

  # 目前機器基本為64位

在 Go 語言中沒有 float 類型,只有 float32 和 float64

你需要知道的是

  int是計算最快的一種類型

  如果是對數字有要求的變量盡量規定長度

整數有多種類型,每種類型對應不同的長度

關鍵字 支持的大小
int 隨操作系統變化
int8 -128 -- 127
int16 -32768 -- 32767
int32 -2147483648 -- 2147483647
int64 -9223372036854775808 -- 9223372036854775807
uint 隨操作系統變化
uint8 0 -- 255
uint16 0 -- 65535
uint32 0 -- 4294967295
uint64 0 -- 18446744073709551615

Go語言從入門到放棄(三) 數據類型