-
Go 語言中代替枚舉的辦法
枚舉類型用于聲明一組命名的常量,當一個變量有幾種可能的取值時,可以將它定義為枚舉類型。在 Go 語言中,并沒有提供枚舉類型,但是枚舉類型又是開發過程中非常重要的數據類型。因為它可以事先定義一組有效的值,可以有效地防止用戶提交無效數據,抽象到業務場景中就是我們平時網頁上遇到的下拉框,或者我們選擇快遞地址時的省市信息,均為枚舉類型的用武之地。所以在 Go 語言中對常量進行了一定的擴展,使其可以完美地替代枚舉類型。 1.常量中的iota 為了使常量可以更好地替代枚舉類型,Go 語言提供了…
-
Go 語言的常量
常量可以理解為是一個存儲了不可以改變的值的變量。常量主要用于特殊值的語義化,使這些值在更容易維護的情況下不會被程序所修改。Go 語言中聲明常量使用的關鍵字是const。常量的使用非常廣泛,比如說圓周率,再比如說一些明確的錯誤信息等一些容易被多次使用的值,一般都會使用常量進行實例化,使其在需要更改時,更容易維護,同時增加代碼可讀性。 1. 單常量定義 常量定義的形式為?const 常量名 常量類型 = 常量值 代碼示例: 代碼塊 1? package main 2 3? import…
-
Go 語言的強制類型轉換
Go 語言是一種強類型語言,而且沒有隱式轉換。也就是說運算符左右的變量類型必須一致,若不一致就會報錯。為了使用戶更加的容易使用,所以 Go 語言提供了各個類型之間強制類型轉換的內置方法。 1. 整型和浮點型互相轉換 整型和浮點型變量之間的相互轉換相對容易,只需使用強制類型轉換標志?type(variable)就好了。需要注意的是,當高精度向低精度類型轉換的時候,會失真。即浮點型向整型轉換的時候會失去其小數部分。在實際開發的過程中,我們一般要避免這兩個類型的互相轉換,在無法避免的場景…
-
Go 語言的布爾型(bool)
本文主要介紹了Go語言中處理布爾類型數據的數據類型。布爾類型的數據表示邏輯運算結果,有以下兩種取值: 真,使用 True 關鍵字表示。 假,使用 False 關鍵字表示。 1.布爾類型 序號 類型 說明 1 bool 只能存放true或者false 2.使用示例 代碼塊 1? package main 2 3? import "fmt" 4 5? func main() { 6? ? ? ? var varb bool 7? ? ? ? varb = true 8? …
-
Go 語言的字符類型
字符類型在工作中也會非常頻繁地用到,是一個非常重要的數據類型。本文主要介紹了 Go 語言中處理字符和字符串的數據類型。 1. 字符和字符串類型 序號 類型 說明 1 byte uint8?類型的別名,同等于?uint8。一般用于表示?ASCII?字符,即只能操作簡單的字符,不支持中文操作。 2 rune int32?類型的別名,同等于?int32。一般用于表示?Unicode?字符,即可以處理任何字符。 3 string 一個指向 byte 數組的指針,可以為空字符串不可為nil。…
-
Go 語言的浮點型(float)
前面兩個小節我們我們都是在講解整型的數據類型,也就是說都是整數,但是在開發中我們也會經常使用小數數據,這節課我們就主要介紹 Go 語言中處理小數的數據類型 1. 實數類型 Go 語言提供了兩種精度的浮點數?float32?和?float64,它們的算術規范由 IEEE754 浮點數國際標準定義,該浮點數規范被所有現代的 CPU 支持。 序號 類型 長度 1 float32 1.401298464324817e-45~3.4028234663852886e+38 2 float64 …
-
Go 語言的無符號整型(uint)
上個小節我們主要學習了 Go 語言中的整型 int 數據類型,本小節主要介紹了 Go 語言中處理無符號的整數的數據類型。 1. 定長類型 序號 類型 長度 1 uint8 0~255 2 uint16 0~65535 3 uint32 0~4294967295 4 uint64 0~18446744073709551615 2. 不定長類型 在 Go 語言中也實現了隨著平臺位數變化而變化的數據類型uint。一般來說,這個類型在32位的系統中長度和uint32一致,在6…
-
Go 語言的整型(int)數據類型
還記得我們之前在第 7 小節和第 8 小節中提到的變量數據類型的概念嗎?從這個小節開始到后面的幾個小節中我們都會進行對 Go 語言中的數據類型相關知識點進行講解,本節課我們主要講解一下 Go 語言中處理帶符號的整數的數據類型。 1. 定長類型 在 Go 語言中整形數據類型被細致地劃分為了下面幾種,根據可以存儲數據的長度分為: 序號 類型 長度 1 int8 -128~127 2 int16 -32768~32767 3 int32 -2147483648~2147483647 4 …
-
Go 語言的 :=
前面兩個小節我們分別學習了 Go 語言中的變量聲明和賦值。按照一貫的思維,變量肯定是要先聲明然后才能被賦值并使用。但是在 Go 語言中新增了一個特殊的運算符?:=?,這個運算符可以使變量在不被聲明的情況下直接使用,這節課我們就來具體看下這個特殊的運算符: 1. 單變量 := Go 語言中新增了一個特殊的運算符:=,這個運算符可以使變量在不聲明的情況下直接被賦值使用。其使用方法和帶值聲明變量類似,只是少了var關鍵字,形如變量名:=變量值,這樣就等于聲明了一個帶值的變量,該變量的類型…
-
Go 的變量賦值
上節課我們學習了 Go 語言中的兩種變量聲明方式:單變量聲明方式和多變量聲明方式。既然已經聲明了變量,那么下一步肯定要給變量賦值并使用,這節課我們就來學習下在 Go 語言中如何給一個變量賦值: 1. 單變量賦值 Go 語言的賦值使用的是?=?符號,賦值過程可以在變量聲明時賦值,也可以在變量聲明之后賦值,如果在變量聲明時直接賦值,可以不用聲明變量類型。需要注意的是?Go 語言變量聲明之后會初始化一個"零值",即使不賦值也可以直接使用。我們來通過一個例子來深入了解變量的賦值和"零值"以…