Golang变量
为什么需要变量
一个程序就是一个世界,变量时程序的基本组成单位。
不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如,一个示意图:
上图的sum、sub都是变量。
变量的介绍
变量的概念
变量相当于内存中一个数据存储空间的表示,可以把变量看做是一个房间的门牌号,通过门牌号可以找到房间,同样的道理,通过变量可以访问到变量(值)。
变量的使用步骤
- 声明变量(也叫:定义变量)
- 非变量赋值
- 使用变量
变量快速入门案例
看下列程序:
package main
import "fmt"
func main() {
//定义变量
var i int
//给变量i赋值
i = 10
//使用变量
fmt.Println("i =",i)
}
输出结果:
变量使用注意事项
- 变量表示内存中的一个存储区域
- 该区域有自己的名称(变量名)和类型(数据类型)
示意图:
Golang变量使用的三种方式
(1)指定变量类型,声明后若不赋值,使用默认值
func main() {
//int 的默认值是0
var i int
fmt.Println("i =",i)
}
(2)根据值自行判断变量类型
func main() {
var i = 1.11
fmt.Println("i =",i)
}
(3)省略var,主义:=左侧的变量不应该是已经声明过的,否则会导致编译错误。
func main() {
//等价于var i int i = 10
i := 10
fmt.Println("i =",i)
}
多变量声明
在编程中,有时我们需要一次性声明多个变量,Golang也提供这样的语法。
1、一次性声明多个变量
package main
import "fmt"
func main() {
//一次性声明多个变量方式1
var n1, n2, n3 int
fmt.Println("n1 =",n1,"n2 =",n2,"n3 =",n3)
//一次性声明多个变量方式2
var age, name = 20, "Casey"
fmt.Println("age =",age,"name =",name)
//一次性声明多个变量方式3,可以使用各类型推导
age1, name1 := 20,"casey"
fmt.Println("age1 =",age1,"name1 =",name1)
}
运行结果:
2、一次性声明多个全局变量
在go中,函数外部定义变量就是全局变量。
举例说明
package main
import "fmt"
//定义全局变量
var age = 20
var name = "Casey"
//上面的声明方式,也可以改成一次性声明
var(
age1 = 22
name1 = "Casey"
)
func main() {
fmt.Println("age =",age,"name =",name)
fmt.Println("age1 =",age1,"name1 =",name1)
}
运行结果
注意:
- 变量在同一个作用域(在一个函数或者在代码块)内不能重名。
- 变量=变量名+值+数据类型,变量的三要素。
- Golang的变量如果没有赋初值,编译器会使用默认值,int 默认值为0,string默认值为空串,小数默认为0,布尔值默认为false。
变量的声明、初始化、赋值
声明变量
基本语法:var 变量名 数据类型
var i int这就声明了一个变量,变量名是a,数据类型为int型
var num float32 声明了一个单精度类型的小数,变量名是num
初始化变量
在声明变量的时候,就给值
var a int = 45 这就是初始化变量a
使用细节:如果声明式就给值,可以省略数据类型
var b = 45
给变量赋值
若先声明了变量:var num int //默认值为0
然后再给值 num = 45 这就是给变量赋值