变量声明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
   | 
  var a int a = 1
  var b int = 2
  var c = 3
  d := 4 fmt.Println(a, b, c, d)
 
  var e,f,g int e,f,g = 5,6,7 fmt.Println(e,f,g)
  h,i,j := 8,9,10 fmt.Println(h,i,j)
 
  var (     k = 11     l = 12 ) fmt.Println(k,l)
 
  | 
 
– 定义在{}中的是局部变量 –
– 定义在{}外的是全局变量 –
数据类型
底层存储空间和操作系统无关
基本数据类型
- 数值型
- 整型
- int 
- int8 (-2的7次方
2的7次方-1 | -128127) 
- int16 (-32768~32767)
 
- int32 (-2147483648~2147483647)
 
- int64 (-2的63次方~2的63次方-1)
 
 
- uint
- uint8 (0
2^8-1 | 0255)无符号整型最小为0 首位不表示符号 
- uint16 同上
 
- uint32 同上
 
- uint64 同上
 
 
- byte
 
 
- 浮点型
 
 
- 字符型
 
- 布尔型
 
- 字符串
 
其他整数类型
- int 
- 32位系统默认为4字节 -2^31~2^31-1
 
- 64位系统默认为8字节 -2^63~2^63-1
 
 
- uint
- 32位同上 0~2^32-1
 
- 64位同上 0~2^64-1
 
 
- rune
 
- byte
 
浮点型
浮点类型底层存储:
符号位 + 指数位 + 尾数位,尾数位只是存了个大概,很可能发生精度损失
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   |  var num1 float32 = 3.14
  var num2 float32 = -3.14
  var num3 float32 = 314E-2
  var num4 float32 = 314E2
  var num5 float32 = 314e2
  var num6 float64 = 314e2 fmt.Println(num1, num2, num3, num4, num5, num6)
 
 
  var num7 float32 = 618.0000000618 var num8 float64 = 618.0000000618 fmt.Println(num7, num8)
 
  var num9 = 3.14
 
 
  | 
 
字符型
1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | 
 
 
 
  var c1 byte = 'a' fmt.Println(c1) 
 
 
  var c2 int = '北' fmt.Println(c2) 
  fmt.Printf("c2的值为: %c",c2)
 
  | 
 
转义字符
1 2 3 4 5 6 7 8 9 10
   |  fmt.Println("aaaa\nbbbb")
  fmt.Println("aaaaa\bb")
  fmt.Println("aaaaa\rbbb")
  fmt.Println("aaaaa\tbbb")
  fmt.Println("aaa\"bbb'ccc\\ddd")
 
  | 
 
布尔类型
占用一个字节
1 2
   | var flag1 bool = true var flag2 bool = 5 > 10
 
  | 
 
字符串类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
   |  var s1 string = "Hello World" fmt.Println(s1)
 
 
  var s2 string = "Hello world" fmt.Println(s2[0]) 
  fmt.Println(s2)
 
 
  var s3 string = `Hello World` fmt.Println(s3)
  var s4 string = "Hello " + "World" fmt.Println(s4) s4 += s4 fmt.Println(s4)
  var s5 string = "Hello" + "World" + "Hello" + "World" + "Hello" + "World" +  "Hello" + "World" + "Hello" + "World" + "Hello" + "World" +  "Hello" + "World" + "Hello" + "World" + "Hello"
 
  | 
 
基本数据类型的默认值
- 整型 = 0
 
- 浮点型 = 0
 
- 布尔型 = false
 
- 字符串 = “”
 
数据类型检测
格式化输出 fmt.Printf()
格式化变量的类型 %T
1 2
   | var num1 byte = 10 fmt.Printf("num1对应的类型是:%T",num1)
 
  |