go 支持的數據類型ide
bool 類型操作系統
數字類型code
有符號整型three
無符號整型字符串
浮點型it
複數類型io
//bool 類型
//bool 表示布爾值,值爲true 或者false class
func booltest() { x :=true y :=false fmt.Println("x",x,"y",y) } 輸出:x true y false
數字類型分爲:有符號整型、無符號整型、test
有符號整型
int 8 表示8位 有符號整型
範圍 -128~127數據類型
int 16 表示16位有符號整型
說值範圍 -32768~32767
int32 表示32 位有符號整型
範圍 -2147483648~2147483647
int64 表示64位有符號整型
-9223372036854775808~9223372036854775807
int 根據不一樣底層平臺,表示32位或者64位整型 ,除非對整型大小有特定對的需求
在32位系統是32位,64 位系統是64位
無符號整型
unit8:
數值範圍:0-255
unit16:
數值範圍:0-65535
unit32
數值範圍:0~4294967295
unit64:
數值範圍:0~18446744073709551615
unit:根據不一樣的底層平臺,32 位系統是32位,64 位系統是64位
var x1 int =67 y1 :=88 fmt.Println("value of x1 is ",x1 ,"y1 is ",y1) var x2 int = 110 y2 :=78 fmt.Println("x2 is", x2,"y2 is ",y2) // go 的格式化輸出 ,經常使用的 // %T 輸出 Go 語言語法格式的類型和值 // %d 整型以十進制方式顯示 // %v 按值的原本值輸出 fmt.Printf("type os x2 is %T,size of x2 is %d",x2,unsafe.Sizeof(x2)) fmt.Printf("\ntype os y2 is %T,size of y2 is %d",y2,unsafe.Sizeof(y2)) 輸出: value of x1 is 67 y1 is 88 x2 is 110 y2 is 78 type os x2 is int,size of x2 is 8 # 說明平臺是64位操做系統 type os y2 is int,size of y2 is 8
// 浮點型
float32: 32 位浮點型
float64: 64位浮點數
x3 ,y3 := 18.44, 9.43 fmt.Printf("type of x3 %T y3 %T\n",x3,y3) sum := x3 + y3 jian := x3 - y3 fmt.Println("sum is ",sum,"xiang jian is ",jian) 輸出: type of x3 float64 y3 float64 sum is 27.87 xiang jian is 9.010000000000002
字符串類型
one :="zhangsan" two :="lisi" three :="wangwu" all_name := one + two + three fmt.Println("all nam connect is",all_name) 輸出 all nam connect is zhangsanlisiwangwu }
複數類型
complex64:實部和虛部都是 float32 類型的的複數。
complex128:實部和虛部都是 float64 類型的的複數。
類型轉換
go 語言沒有自動類型提高或者類型轉換
a :=32 b :=45.3 sum := a + b fmt.Println(sum) 輸出報錯: bao cuo src/20190104/類型1.go:128:11: invalid operation: a + b (mismatched types int and float64)
類型轉換
a1 :=32 b1 :=45.3 sum := a1 + int(b1) fmt.Println(sum) 輸出 77