golang变量

变量是计算机语言中能储存计算结果或能表示值的抽象概念。不通的变量保存的数据类型可能会不一样

声明变量

Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。

声明变量的语法

1
var identifier type

var :声明变量关键字

identifier :变量名称

type :变量类型

例如

1
2
3
4
5
6
7
8
package main
import "fmt"

func main(){
var name string
var age int
var ok bool
}

批量声明

使用一个var关键字,把一些变量写在一个括号()里

1
2
3
4
5
6
7
8
package main
func main(){
var (
name string
age int
ok bool
)
}

变量初始化

Go语言再声明变量的时候,回自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如:整型和浮点型变量的默认值为0。字符串变量的默认值为空字符串""。布尔型变量默认为false。切片、函数、指针变量的默认为nil

变量初始化语法

1
var 变量名 类型 = 表达式

例如

1
2
3
4
5
6
package main
func main(){
var name string = "韦云峰"
var site string = "www.weiyunfeng.tk"
var age int = 23
}

类型推导

我们在声明变量时,可以根据初始化值进行类型推导,从而省略类型。

1
2
3
4
5
6
package main
func main(){
var name = "韦云峰"
var site = "www.weiyunfeng.tk"
var age = 23
}

初始化多个变量

可以一次初始化多个变量,中间用逗号分隔。

1
2
3
4
package main
func main(){
var name,site,age = "韦云峰","www.weiyunfeng.tk",23
}

短变量声明

在函数内部,可以使用:=运算符对变量进行声明和初始化。

1
2
3
4
5
6
package main
func main(){
name := "韦云峰"
site := "www.weiyunfeng.tk"
age := 23
}

注意:这种方法只适合在函数内部,函数外面不能使用

匿名变量

如果我们接收到多个变量,有一些变量使用不到,可以使用下划线_表示变量名称,这种变量叫做匿名变量。例如:

1
2
3
4
5
6
7
8
9
package main
import "fmt"
func getNameAndAge()(string,int){
return "韦云峰",23
}
func main(){
name,_ := getNameAndAge()
fmt.Printf("name: %v\n",name)
}