二、數據類型、關鍵字、標識符
學習大綱:
目錄
補充內容:
1. Go 語言的空格
- Go 語言中變量的聲明必須使用空格隔開,如:var age int;
- 語句中適當使用空格能讓程序更易閱讀。
- 無空格:fruit=apples+oranges;
- 在變量與運算符間加入空格,程序看起來更加美觀,如:fruit = apples + oranges;
Go 語言按類別有以下幾種數據類型:
序號 | 類型和描述 |
---|---|
1 | 布爾型 布爾型的值只可以是常量 true 或者 false。一個簡單的例子:var b bool = true。 |
2 | 數字類型 整型 int 和浮點型 float32、float64,Go 語言支持整型和浮點型數字,並且支持複數,其中位的運算採用補碼。 |
3 | 字符串類型: 字符串就是一串固定長度的字符連接起來的字符序列。Go 的字符串是由單個字節連接起來的。Go 語言的字符串的字節使用 UTF-8 編碼標識 Unicode 文本。 |
4 | 派生類型: 包括:
|
1.1 補充點:
1. 複數的值由三部分組成 RE + IMi,其中 RE 是實數部分,IM 是虛數部分,RE 和 IM 均爲 float 類型,而最後的 i 是虛數單位。
2. 複數也可以用==和!=進行相等比較,只有兩個複數的實部和虛部都相等的時候它們纔是相等的
2. 數字類型
Go 也有基於架構的類型,例如:int、uint 和 uintptr。
序號 | 類型和描述 |
---|---|
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) |
3. 浮點型
序號 | 類型和描述 |
---|---|
1 | float32 IEEE-754 32位浮點型數 |
2 | float64 IEEE-754 64位浮點型數 |
3 | complex64 32 位實數和虛數 |
4 | complex128 64 位實數和虛數 |
4. 其他數字類型
以下列出了其他更多的數字類型:
序號 | 類型和描述 |
---|---|
1 | byte 類似 uint8 |
2 | rune 類似 int32 |
3 | uint 32 或 64 位 |
4 | int 與 uint 一樣大小 |
5 | uintptr 無符號整型,用於存放一個指針 |
4.1 補充點:
- 1. 表示 Unicode 字符的 rune 類型和 int32 類型是等價的,通常用於表示一個 Unicode 碼點,是等價的。
- 2. byte 和 uint8 也是等價類型,byte 類型一般用於強調數值是一個原始的數據而不是一個小的整數。
- 3. 無符號的整數類型 uintptr,它沒有指定具體的 bit 大小但是足以容納指針。只有在底層編程時才需要,特別是Go語言和C語言函數庫或操作系統接口相交互的地方。
- 4. 有符號整數採用 2 的補碼形式表示,也就是最高 bit 位用來表示符號位,一個 n-bit 的有符號數的取值範圍是從 -2(n-1) 到 2(n-1)-1。無符號整數的所有 bit 位都用於表示非負數,取值範圍是 0 到 2n-1。
- 5. 常量 math.MaxFloat32 表示 float32 能取到的最大數值,大約是 3.4e38。
- 6. 常量 math.MaxFloat64 表示 float64 能取到的最大數值,大約是 1.8e308。
- 7. float32 和 float64 能表示的最小值分別爲 1.4e-45 和 4.9e-324。
- 8. 浮點數在聲明的時候可以只寫整數部分或者小數部分。
- 9. 很小或很大的數最好用科學計數法書寫,通過 e 或 E 來指定指數部分
5. 關鍵字
下面列舉了 Go 代碼中會使用到的 25 個關鍵字或保留字:
break | default | func | interface | select |
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
除了以上介紹的這些關鍵字,Go 語言還有 36 個預定義標識符:
append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 |
copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
int32 | int64 | iota | len | make | new | nil | panic | uint64 |
println | real | recover | string | true | uint | uint8 | uintptr |
- 程序一般由關鍵字、常量、變量、運算符、類型和函數組成。
- 程序中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}。
- 程序中可能會使用到這些標點符號:.、,、;、: 和 …。
6. 知識點
- - 程序一般由關鍵字、常量、變量、運算符、類型和函數組成。
- - 程序中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}。
- - 程序中可能會使用到這些標點符號:.、,、;、: 和 …。
7. 字符串連接
Go 語言的字符串可以通過 + 實現:
一個例子:
package main
import "fmt"
func main() {
fmt.Println("my" + "baby")
}