变量是计算机语言中能储存计算结果或能表示值的抽象概念。不同的变量保存的数据类型可能会不一样。
一、声明
声明变量
Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。
声明变量的语法
var identifier type
- var:声明变量关键字
- identifier:变量名称
- type:变量类型
例如
var name string
var age int
var ok bool
批量声明
package main
import "fmt"
func main() {
var (
name string
age int
ok bool
)
fmt.Printf("name: %v\n", name)
fmt.Printf("age: %v\n", age)
fmt.Printf("ok: %v\n", ok)
}
二、初始化
变量的初始化
Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如:整型和浮点型变量的默认值为0。字符串变量的默认值为空字符串""。布尔型变量默认为false。切片、函数、指针变量的默认为nil
var name string = "老邱"
var age int = 18
var ok = true
类型推导
我们在声明变量时,可以根据初始化值进行类型推导,从而省略类型。
package main
import "fmt"
func main() {
var name = "老绅士"
var age = 18
var ok = true
fmt.Printf("name: %v\n", name)
fmt.Printf("age: %v\n", age)
fmt.Printf("ok: %v\n", ok)
}
初始化多个变量
package main
import "fmt"
func main() {
var name, age, ok = "老绅士", 18, true
fmt.Printf("name: %v\n", name)
fmt.Printf("age: %v\n", age)
fmt.Printf("ok: %v\n", ok)
}
三、短变量声明
短变量只能放在函数内部使用,函数外面不能使用
package main
import "fmt"
// email := "www@qq.com" 外面不能这么写 ,得写全
var email = "www@qq.com" //可以类型推断
func main() {
//短变量声明 :=
name := "李连杰"
age := 13
ok := false
fmt.Printf("name: %v\n", name)
fmt.Printf("age: %v\n", age)
fmt.Printf("ok: %v\n", ok)
}
四、匿名变量
如果我们接收到多个变量,有一些变量使用不到,可以使用下划线 _ 表示变量名称,这种变量叫做匿名变量。例如:
package main
import "fmt"
func getNameAndAge() (string, int) {
return "tom", 18
}
func main() {
name, _ := getNameAndAge()
fmt.Printf("name: %v\n", name)
}