Go語言數據類型簡單介紹
數據類型是編程中的重要概念。數據類型指定了變量值的大小和類型。
Go是靜態(tài)類型的,這意味著一旦變量類型被定義,它只能存儲該類型的數據。
Go有三種基本數據類型:
- bool:表示布爾值,要么是true,要么是false。
- 數值型:表示整數類型、浮點數值和復數類型。
- string:表示字符串值。
示例
以下示例展示了Go中的一些不同數據類型:
package main
import ("fmt")
func main() {
var a bool = true // 布爾值
var b int = 5 // 整數
var c float32 = 3.14 // 浮點數
var d string = "Hi!" // 字符串
fmt.Println("布爾值: ", a)
fmt.Println("整數: ", b)
fmt.Println("浮點數: ", c)
fmt.Println("字符串: ", d)
}布爾數據類型
布爾數據類型使用bool關鍵字聲明,只能取值true或false。
布爾數據類型的默認值是false。
示例
以下示例展示了聲明布爾變量的不同方式:
package main
import ("fmt")
func main() {
var b1 bool = true // 有類型聲明和初始值
var b2 = true // 無類型聲明但有初始值
var b3 bool // 有類型聲明但無初始值
b4 := true // 無類型聲明但有初始值
fmt.Println(b1) // 輸出 true
fmt.Println(b2) // 輸出 true
fmt.Println(b3) // 輸出 false
fmt.Println(b4) // 輸出 true
}Go整數數據類型
整數數據類型用于存儲沒有小數點的整數,例如35、-50或1345000。
整數數據類型有兩個類別:
- 有符號整數 - 可以存儲正數和負數
- 無符號整數 - 只能存儲非負數
提示:整數的默認類型是int。如果不指定類型,類型將為int。
有符號整數
使用int關鍵字聲明的有符號整數可以存儲正數和負數:
示例
package main
import ("fmt")
func main() {
var x int = 500
var y int = -4500
fmt.Printf("類型: %T, 值: %v", x, x)
fmt.Printf("類型: %T, 值: %v", y, y)
}Go有五個有符號整數的關鍵字/類型:
| 類型 | 大小 | 范圍 |
|---|---|---|
| int | 取決于平臺: | 在32位系統(tǒng)中為 -2147483648 到 2147483647, |
| 32位系統(tǒng)為32位, | 在64位系統(tǒng)中為 -9223372036854775808 到 9223372036854775807 | |
| 64位系統(tǒng)為64位 | ||
| int8 | 8位/1字節(jié) | -128 到 127 |
| int16 | 16位/2字節(jié) | -32768 到 32767 |
| int32 | 32位/4字節(jié) | -2147483648 到 2147483647 |
| int64 | 64位/8字節(jié) | -9223372036854775808 到 9223372036854775807 |
無符號整數
使用uint關鍵字聲明的無符號整數只能存儲非負數:
示例
package main
import ("fmt")
func main() {
var x uint = 500
var y uint = 4500
fmt.Printf("類型: %T, 值: %v", x, x)
fmt.Printf("類型: %T, 值: %v", y, y)
}Go有五個無符號整數的關鍵字/類型:
| 類型 | 大小 | 范圍 |
|---|---|---|
| uint | 取決于平臺: | 在32位系統(tǒng)中為 0 到 4294967295, |
| 32位系統(tǒng)為32位, | 在64位系統(tǒng)中為 0 到 18446744073709551615 | |
| 64位系統(tǒng)為64位 | ||
| uint8 | 8位/1字節(jié) | 0 到 255 |
| uint16 | 16位/2字節(jié) | 0 到 65535 |
| uint32 | 32位/4字節(jié) | 0 到 4294967295 |
| uint64 | 64位/8字節(jié) | 0 到 18446744073709551615 |
選擇整數類型取決于變量需要存儲的值。
示例
以下示例會導致錯誤,因為1000超出了int8的范圍(范圍是從-128到127):
package main
import ("fmt")
func main() {
var x int8 = 1000
fmt.Printf("類型: %T, 值: %v", x, x)
}結果:
./prog.go:5:7: constant 1000 overflows int8
Go浮點數數據類型
浮點數數據類型用于存儲帶有小數點的正數和負數,例如35.3、-2.34或3597.34987。
浮點數數據類型有兩個關鍵字:
類型 大小 范圍
- float32 32位 -3.4e+38 到 3.4e+38。
- float64 64位 -1.7e+308 到 +1.7e+308。
提示:浮點數的默認類型是float64。如果不指定類型,類型將為float64。
float32關鍵字
示例
以下示例展示了如何聲明一些float32類型的變量:
package main
import (
"fmt"
)
func main() {
var x float32 = 123.78
var y float32 = 3.4e+38
fmt.Printf("類型:%T,值:%v\n", x, x)
fmt.Printf("類型:%T,值:%v", y, y)
}float64關鍵字
與float32相比,float64數據類型可以存儲更大范圍的數字。
示例
以下示例展示了如何聲明一個float64類型的變量:
package main
import (
"fmt"
)
func main() {
var x float64 = 1.7e+308
fmt.Printf("類型:%T,值:%v", x, x)
}選擇使用哪種浮點類型取決于變量需要存儲的值。
示例
以下示例會導致錯誤,因為3.4e+39超出了float32的范圍:
package main
import (
"fmt"
)
func main() {
var x float32 = 3.4e+39
fmt.Println(x)
}結果:
./prog.go:5:7: constant 3.4e+39 overflows float32
字符串數據類型
字符串數據類型用于存儲字符序列(文本)。字符串值必須用雙引號括起來:
示例
package main
import (
"fmt"
)
func main() {
var txt1 string = "Hello!"
var txt2 string
txt3 := "World 1"
fmt.Printf("類型:%T,值:%v\n", txt1, txt1)
fmt.Printf("類型:%T,值:%v\n", txt2, txt2)
fmt.Printf("類型:%T,值:%v\n", txt3, txt3)
}結果:
Type: string, value: Hello! Type: string, value: Type: string, value: World 1
到此這篇關于Go語言數據類型簡單介紹的文章就介紹到這了,更多相關Go 數據類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

