1、概念
变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问,Go 语言变量名由字母、数字、下划线组成,只能以字母或下划线开头。
程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个宾馆的门牌号,通过门牌号我们可以找到宾馆房间,因此,在变量中,通过变量名可以访问到变量(值)。
声明变量的一般形式是使用var关键字:
var 变量名 变量类型
可以一次声明多个变量:
var 变量名1, 变量名2  变量类型
变量(Variable)的功能是存储数据。不同的变量保存的数据类型可能会不一样。常见变量的数据类型有:整型、浮点型、布尔型等。
2、变量使用步骤
1)声明变量(也叫定义变量)
2)变量赋值
3)使用变量
3、变量定义的几种方式
1)第一种方式:标准声明
var 变量名 变量类型
1 2 3 4 5 6 7 8 9 10
   | package main
  import "fmt"
  func main() { 	var i int 	i = 1234 	 	fmt.Println("i=", i) }
 
  | 
 
2)第二种方式:指定变量类型,声明后不赋值
注意:如果声明变量不赋值,会使用默认值
1 2 3 4 5 6 7 8
   | package main
  import "fmt"
  func main() { 	var i int 	fmt.Println("i=", i) }
 
  | 
 
3)第三种方式:声明变量的时候指定初始值
1 2 3 4 5 6 7 8
   | package main
  import "fmt"
  func main() { 	var i int = 666 	fmt.Println("i=", i) }
 
  | 
 
4)第四种方式:类型推导
有时候我们会将变量的类型策略省略,这个时候编译器会根据等号右边的值来推导变量的类型完成初始化
1 2 3 4 5 6 7 8
   | package main
  import "fmt"
  func main() { 	var i = 888 	fmt.Println("i=", i) }
 
  | 
 
5)第五种方式:短变量声明
在函数内部,可以使用更简略的 := 方式声明并初始化变量
1 2 3 4 5 6 7 8 9
   | package main
  import "fmt"
  func main() { 	a := 1 	b := 2 	fmt.Println("a=", a, "b=", b) }
 
  | 
 
6)第六种方式:一次声明多个变量
在编程中,有时候我们需要一次性声明多个变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | package main
  import "fmt"
 
  var a = 1 var b = 2 var c = 3 var name = "tom"
  func main() { 	 	var n1 int 	var name3 string 	var age string
  	 	fmt.Println("a=", a, "b=", b, "c=", c, "name=", name)
  	 	fmt.Println("n1=", n1, "name3=", name3, "age=", age)
  }
 
  | 
 
7)匿名变量声明
在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。 匿名变量用一个下划线_表示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   | package main
  import "fmt"
  func foo() (int, string) { 	return 68, "test" } func main() { 	x, _ := foo() 	_, y := foo() 	a, b := foo() 	fmt.Println("x=", x) 	fmt.Println("y=", y) 	fmt.Println("a=", a, "b=", b) }
 
  x= 68 y= test a= 68 b= test
 
  |