1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 Go语言的数据类型: 8 1.基本数据类型: 9 布尔类型:bool 10 取值:true,false 11 数值类型: 12 整数:int 13 有符号:最高位表示符号位,0正数,1负数,其余位表示数值 14 int8:(-128 到 127) 15 int16:(-32768 到 32767) 16 int32:(-2147483648 到 2147483647) 17 int64:(-9223372036854775808 到 9223372036854775807) 18 无符号:所有的位表示数值 19 uint8: (0 到 255) 20 uint16:(0 到 65535) 21 uint32:(0 到 4294967295) 22 uint64: (0 到 18446744073709551615) 23 24 int, uint 25 26 byte:uint8 27 rune:int32 28 浮点:生活中的小数 29 float32,float64 30 复数:complex, 31 字符串:string 32 2.复合数据类型 33 array,slice,map,function,pointer,struct,interface,channel。。。 34 */ 35 36 //1.布尔类型 37 var b1 bool 38 b1 = true 39 fmt.Printf("%T,%t\n", b1, b1) // bool,true 40 b2 := false 41 fmt.Printf("%T,%t\n", b2, b2) // bool,false 42 43 //2.整数 44 var i1 int8 45 i1 = 100 46 fmt.Println(i1) 47 var i2 uint8 48 i2 = 200 49 fmt.Println(i2) 50 51 var i3 int 52 i3 = 1000 53 fmt.Println(i3) 54 //语法角度:int,int64不认为是同一种类型 55 //var i4 int64 56 //i4 = i3 //cannot use i3 (type int) as type int64 in assignment 57 58 var i5 uint8 59 i5 = 100 60 var i6 byte 61 i6 = i5 62 fmt.Printf("%T,%v\n", i6, i6) // uint8,100 63 fmt.Println(i5, i6) // 100 100 64 65 var i7 = 100 66 fmt.Printf("%T,%d\n", i7, i7) // int,100 67 68 //浮点 69 var f1 float32 70 f1 = 3.14 71 var f2 float64 72 f2 = 4.67 73 fmt.Printf("%T,%.2f\n", f1, f1) // float32,3.14 74 fmt.Printf("%T,%.3f\n", f2, f2) // float64,4.670 75 fmt.Println(f1) // 3.14 76 77 // 小数默认是 float64 78 var f3 = 2.55 79 fmt.Printf("%T\n", f3) // float64 80 81 }