变量
定义变量的方法
- 关键字声明
var
一般以关键字var
声明,跟变量名、[变量类型]、赋值符号、变量值(必须与指定的变量类型一致)
var name string = "lynn"
变量名命名规范:
只能是数字、字母、下划线构成,不能以数字开头。推荐一般使用小驼峰体,如果全局变量,且希望被外部包调用,用大驼峰体
变量类型可以省略不写,在编译阶段会自动推导
同种数据类型的变量能相互赋值
package main
import "fmt"
var a, b = 1, 2
func main() {
a, b = b, a
fmt.Println(a, b)
}
其他方式命名
package main
import "fmt"
var (
name = "lynn"
age = 18
)
func main() {
fmt.Println(name, age)
}
package main
import "fmt"
var a, b int
func main() {
a = 180
b = 180
fmt.Println(a, b)
}
声明一个变量后,系统会自动赋予他该类型的零值:整形0,浮点型0.0,字符串空字符串,布尔型false,指针为null
- 简单赋值
没有关键字,:=
,注意只能在函数内部用
package main
import "fmt"
func main() {
age := 18
name, b := "lynn", 12
fmt.Println(age)
fmt.Println(name, b)
}
作用域
在同一个作用域下,同一变量,只能定义一次,但是可以多次赋值,赋值后的变量会发生变化
不同作用域下定义相同的变量,局部作用域定义的变量,只影响局部的,不影响全局的。