Go語言中有豐富的數據類型,除了基本的整型、浮點型、布爾型、字符串外,還有切片、結構體、函數、map、通道(channel)等。
Go 語言的基本類型和其他語言大同小異。
1. 整型
整型可以分成以下兩個大類:
-
按長度分為:
int8
、int16
、int32
、int64
-
對應的無符號整型:
uint8
、uint16
、uint32
、uint64
其中,uint8
就是我們熟知的 byte
型.
2. 浮點型
Go語言支持兩種浮點型數:
float32
、float64
.
注意:沒有float
Go語言的浮點型默認聲明為 float64
.
3. 復數
復數的默認類型是complex128
(64位實數 + 64位虛數)
還有一種是complex64
(32位實數 + 32位虛數)
var c1 complex
c1 = 1 + 2i
var c2 complex64
c2 = 2 + 3i
var c3 complex128
c3 = 3 + 4i
fmt.Println(c1)
fmt.Println(c2)
fmt.Println(c3)
4. 布爾型
布爾型數據只有 true
(真)和 false
(假)兩個值。默認為flase
。
注,在Go語言中:
1、布爾類型變量的默認值為 false
2、true
和 false
均為小寫
3、不允許將整型強制轉換為布爾型
4、布爾類型無法參與數值運算, 也無法與其他類型進行轉換
5. 字符串
字符串的兩種表示形式:
-
雙引號(" "),會識別轉義字符
-
反引號,不會識別轉義字符。以字符串的原生形式輸出,包括換行和特殊字符。
s1 = "hello"
5.1 字符串常見轉義符
轉義符 | 含義 |
---|---|
\r | 回車符(返回行首) |
\n | 換行符 |
\t | 制表符 |
' | 單引號 |
" | 雙引號 |
\ | 反斜杠 |
打印Windows平台下的一個文件路徑
package main
import "fmt"
func main() {
fmt.Println("str := \"c:\\code\\go\\go.exe\"")
}
5.2 反引號定義多行字符串
const s = ` 第一行
第二行
第三行
\r\n
`
fmt.Println(s)
代碼運行結果:
第一行
第二行
第三行
\r\n
6. 字符
字符串中的每一個元素叫做字符
,在遍歷或者單個獲取字符串元素時可以獲得字符。
字符用單引號
表示.
Go語言的字符有以下兩種:
- 一種是 uint8 類型,或者叫 byte 型,代表了 ASCII碼的一個字符。
- 另一種是 rune 類型,代表一個 UTF-8 字符。當需要處理中文、日文或者其他復合字符時,則需要用到 rune 類型。rune 類型實際是一個 int32。