2、变量的声明

变量的声明 - 图1

四种变量的声明方式

  1. package main // 程序的包名
  2. import "fmt" /*
  3. 四种变量的声明方式
  4. */
  5. func main() {
  6. // 方法1 声明一个变量, 默认值为0
  7. var a int
  8. fmt.Println("a=", a)
  9. fmt.Printf("type if a= %T\n", a)
  10. fmt.Println("------------")
  11. // 方法2 声明一个变量, 初始化一个值
  12. var b int = 100
  13. fmt.Println("b=", b)
  14. fmt.Printf("type if b= %T\n", b)
  15. fmt.Println("------------")
  16. // 方法3 在初始化是省略数据类型, 通过值自动匹配当前的变量的数据类型
  17. var c = 200
  18. fmt.Println("c=", c)
  19. fmt.Printf("type if c= %T\n", c)
  20. fmt.Println("------------")
  21. // 方法4 (常用方法) 省去 var 关键字, 直接自动匹配
  22. // 不能用于全局变量声明
  23. d := 300
  24. fmt.Println("d=", d)
  25. fmt.Printf("type if d= %T\n", d)
  26. fmt.Println("------------")
  27. e := "罗文猛"
  28. fmt.Println("e=", e)
  29. fmt.Printf("type if e= %T\n", e)
  30. fmt.Println("------------")
  31. f := 3.14
  32. fmt.Println("f=", f)
  33. fmt.Printf("type if e= %T\n", f)
  34. fmt.Println("------------")
  35. // 多个变量声明
  36. fmt.Println("多行变量的声明")
  37. var a1, a2 int = 100, 200
  38. fmt.Println("a1=", a1, "a2=", a2)
  39. var b1, b2 = 100, "在声明多种不同数据类型的变量时不能有变量类型关键字"
  40. fmt.Println("b1=", b1, "b2=", b2)
  41. // 多行的变量声明
  42. var (
  43. c1 int = 100
  44. c2 bool = true
  45. c3 string = "多行的变量声明"
  46. )
  47. fmt.Println("c1=", c1, "c2=", c2, "c3=", c3)
  48. }
  1. 02 go run main.go
  2. a= 0
  3. type if a= int
  4. ------------
  5. b= 100
  6. type if b= int
  7. ------------
  8. c= 200
  9. type if c= int
  10. ------------
  11. d= 300
  12. type if d= int
  13. ------------
  14. e= 罗文猛
  15. type if e= string
  16. ------------
  17. f= 3.14
  18. type if e= float64
  19. ------------
  20. 多行变量的声明
  21. a1= 100 a2= 200
  22. b1= 100 b2= 在声明多种不同数据类型的变量时不能有变量类型关键字
  23. c1= 100 c2= true c3= 多行的变量声明
  1. package main
  2. import "fmt"
  3. var x, y int
  4. var ( //这种分解的写法,一般用于声明全局变量
  5. a int
  6. b bool
  7. )
  8. var c, d int = 1, 2
  9. var e, f = 123, "liudanbing"
  10. //这种不带声明格式的只能在函数体内声明
  11. //g, h := 123, "需要在func函数体内实现"
  12. func main() {
  13. g, h := 123, "需要在func函数体内实现"
  14. fmt.Println(x, y, a, b, c, d, e, f, g, h)
  15. //不能对g变量再次做初始化声明
  16. //g := 400
  17. _, value := 7, 5 //实际上7的赋值被废弃,变量 _ 不具备读特性
  18. //fmt.Println(_) //_变量的是读不出来的
  19. fmt.Println(value) //5
  20. }