類型
1.實數(shù)
浮點型
聲明方式有三種
floatNum := 3.1415 //簡單賦值方式
var floatNum = 3.1415 //對于浮點型抹蚀,go會默認設置為float64
var floatNum float64 = 3.1415 //顯示聲明類型
默認情況下go聲明浮點型變量都是float64雙精度浮點型镜悉,比float32單精度浮點型精度要高眠饮,但是同樣內(nèi)存占用也更高硫椰。
如果要聲明為單精度浮點型暑劝,需要顯式聲明類型骆莹。
浮點類型的打印
num := 1.0 / 3
fmt.Println(num)//打印結(jié)果0.3333333333333333
fmt.Printf("%v\n",num) //打印結(jié)果0.3333333333333333
fmt.Printf("%f\n",num)//打印結(jié)果0.333333
fmt.Printf("%.3f\n",num)//打印結(jié)果0.33
2.整數(shù)
整數(shù)中分為有符號型和無符號型
分別表示為int8,uint8,int16,uint16,int32,uint32,int64,uint64,int
big包
(1)存儲大整數(shù)的big.Int.
(2)存儲任意精度浮點數(shù)的big.Float
(3)存儲諸如1/3的分數(shù)big.Rat
3.文本
string類型文本
其中只有一點需要注意的是以下這種形式的輸出,在java中是沒有的
func main() {
fmt.Println(`
這一段
是會按原始格式
輸出的`)
}
rune和byte
其中rune和int32類型完全互換担猛,byte和uint8可以完全互換幕垦,并且具有相同的表現(xiàn)丢氢。rune相當于java中的char。
可以理解為是int32和byte的別名先改。
但是rune主要用來表示字符代碼疚察,byte用來表示二進制數(shù)之類的,語義更為明顯一點仇奶。
4.零值
每種類型都有相應的默認值貌嫡,我們稱之為零值。
var num float64 //打印結(jié)果為0 相當于 num :=0.0
5.數(shù)字類轉(zhuǎn)換
go語言中不同的數(shù)字類型不能相互運算该溯,所以使用之前必須得進行類型轉(zhuǎn)換才能一起運算岛抄。
例子:
func main() {
a := "這段文本共"
b := 7
c := string('字')
fmt.Println(a + strconv.Itoa(b) + c) //其中將整數(shù)轉(zhuǎn)換為ASCII碼需要使用strconv.Itoa函數(shù)進行轉(zhuǎn)碼
//或者使用fmt.Sprintf對數(shù)據(jù)進行格式化
d := fmt.Sprintf(a + "%v" + c,b)
fmt.Println(d)
//2次打印都會輸出以下內(nèi)容
//這段文本共7字
}