Go入门介绍(Chapter Three)
变量
一:变量介绍
- 为什么需要变量
- 一个程序就是一个世界
- 变量是程序的基本组成单位
- 不论是哪种高级程序语言编写程序,变量都是其程序的基本组成单位
- 变量的概念
- 变量相当于内存中的一个数据存储空间的表示,你可以把变量看作是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名我们可以访问到变量(值)
二:变量使用的基本步骤
- 声明变量(定义变量)
- 赋值
- 使用
三:变量快速入门案例
package main
import "fmt"
func main() {
//定义变量/声明变量
var defineI int = 10
//给defineI 赋值
defineI = 10
//使用变量
fmt.Println("defineI =", defineI)
}
输出结果
四:变量使用注意事项
- 变量表示内存中的一个存储区域
没有赋值的时候,数值为0
-
该区域有自己的名称(变量名)和类型(数据类型)
-
Golang变量使用的三种方式
- 指定变量类型,声明后若不赋值,使用默认值
package main import "fmt" func main() { //定义变量/声明变量 var defineI int //不赋值 fmt.Println("defineI =", defineI) }
package main import "fmt" func main() { //定义变量/声明变量 var defineI bool //不赋值 fmt.Println("defineI =", defineI) }
- 根据值自行判定变量类型(类型推导)
var defaultNum=12.3 fmt.Println("defaultNum = ",defaultNum)
- 省略var,注意:=左侧的变量不应该是已经声明过的,否则会导致编译错误
//省略var,但是等价于:= //下面的方式等价于var defineName string name = "tom" // := 的 : 不能省略,否则就是错误的 defineName := "tom" fmt.Println("defineName = ",defineName)
-
多变量声明:在编程中,有时我们需要一次声明多个变量,Golang也提供这样的语法
//该案例演示golang如何一次声明多个变量
var defineInt1, defineInt2, defineInt3 int
fmt.Println("defineInt1 = ", defineInt1, "defineInt2 = ", defineInt2, "defineInt3 = ", defineInt3)
//一次性声明多个变量的方式2
var defineInt1, defineName, defineInt3 = 12.4, "tom", 12
fmt.Println("defineInt1 = ", defineInt1, "defineName = ", defineName, "defineInt3 = ", defineInt3)
//一次性声明多个变量的方式3,同样可以使用类型推导
defineInt1, defineName, defineInt3 := 12.4, "tom", 12
fmt.Println("defineInt1 = ",defineInt1, "\n", "defineName = ",defineName,"\n","defineInt3 = ", defineInt3)
- 如何一次性声明多个全局变量(在go函数外部定义变量就是全局变量)
package main
import "fmt"
//定义全局变量
var int1 = 1
var int2 = 2
var name = "tom"
//上面的声明方式,也可以改成一次性声明
var (
int3 int
int4 int
name2 string
)
func main() {
fmt.Println(
"int1 = ", int1,
"int2 = ", int2,
"name = ", name)
fmt.Println(
"int3 = ", int3,
"int4 = ", int4,
"name2 = ", name2)
}
-
该区域的数据值可以在同一类型范围内不断变化
-
变量在同一作用域内不能重名
如果说,我们在两个函数中声明变量的话,是可以的
- 变量=变量+值+数据类型
- Golang的变量如果没有赋值,编译器会使用默认值,比如int值为0,string值默认为空
五:变量声明、初始化、赋值
- 声明变量
- 基本语法:var 变量名 数据类型
举例
var a int 这就声明了一个变量,变量名是a
var num 1 float32也是声明了一个变量,表示一个单精度类型的小鼠,变量名是num1
- 初始化变量
- 在声明变量的时候,就给值
举例
var a int =45这就是初始化变量a
使用细节,如果声明时就直接赋值,可以省略数值类型
var b =400
- 给变量赋值
- 比如你声明了变量:var num int
- 然后再给值 num = 780 这就是给变量赋值