變量介紹
什么是變量?
> 變量是程序中用來**存儲數(shù)據(jù)的容器**。
> 它有一個名稱(標識符)和一個類型,用來保存可變的數(shù)據(jù)值。
簡單類比:變量就像帶名字的盒子,你可以往里面放數(shù)據(jù),也可以隨時拿出來用,還可以更換里面的內(nèi)容。
Go 中變量的特點
Go 是靜態(tài)強類型語言:變量聲明時就必須確定類型(或讓編譯器推斷)
Go 支持多種變量聲明方式
go 變量不可以重新定義
支持 類型推導 和 一次聲明多個變量
聲明賦值使用寫法
package main
import "fmt"
func main(){
//變量聲明;類型
var age int
//變量賦值
age = 18
//變量使用
fmt.Println("小明年齡",age) //逗號做拼接
}
執(zhí)行
PS D:\golang\goproject> go run src\src01\demo1\main0.go
小明年齡 18
聲明賦值合成一句
var age int = 19 //聲明賦值合成一句
fmt.Println("小明年齡",age) //逗號做拼接
執(zhí)行結果
PS D:\golang\goproject> go run src\src01\demo1\main0.go
小明年齡 19
變量不可以重新定義
var age int = 19 //聲明賦值合成一句
fmt.Println("小明年齡",age) //逗號做拼接
var age int = 9
fmt.Println("小紅年齡",age)
結果
# command-line-arguments
src\src01\demo1\main0.go:11:6: age redeclared in this block
src\src01\demo1\main0.go:9:6: other declaration of age
變量類型與值的類型不同也不可以
var num int = 12.7 fmt.Println(num) 執(zhí)行結果 PS D:\golang\goproject> go run src\src01\demo1\main0.go # command-line-arguments src\src01\demo1\main0.go:16:16: cannot use 12.7 (untyped float constant) as int value in variable declaration (truncated)
變量的默認值
//1變量使用方式 var mun int =18 fmt.Println(mun) //2 變量沒有賦初始值,默認整數(shù)型默認是0 var mun2 int fmt.Println(mun2) 執(zhí)行結果 18 0
變量的類型推導
//類型推導 var mun3 = 20 fmt.Println(mun3) // 類型推導 (簡寫)省略var 。注意:= 不能寫成= mun4 := 9 fmt.Println(mun4) 執(zhí)行結果 20 9
一次性聲明多個變量
var n1,n2,n3 int
fmt.Println(n1)
fmt.Println(n2)
fmt.Println(n3)
var n4,name,n5 = 10,"jak",7.8
fmt.Println(n4)
fmt.Println(name)
fmt.Println(n5)
n6,n7 := 18.7,18
fmt.Println(n6)
fmt.Println(n7)
執(zhí)行結果
0
0
0
10
jak
7.8
18.7
18
全局變量定義:定義在{}外面,定義在{}里的叫局部變量
package main
import "fmt"
//全局變量 : 定義在函數(shù)外
var n8 = 100
var n9 = 123.5
//全局變量一次性申請
var (
n10 = 45
n11 = "晨曦"
)
func main(){
//1變量使用方式
var mun int =18
fmt.Println(mun)
//2 變量沒有賦初始值,默認整數(shù)型默認是0
var mun2 int
fmt.Println(mun2)
//類型推導
var mun3 = 20
fmt.Println(mun3)
// 類型推導 (簡寫)省略var 。注意:= 不能寫成=
mun4 := 9
fmt.Println(mun4)
var n1,n2,n3 int
fmt.Println(n1)
fmt.Println(n2)
fmt.Println(n3)
var n4,name,n5 = 10,"jak",7.8
fmt.Println(n4)
fmt.Println(name)
fmt.Println(n5)
n6,n7 := 18.7,18
fmt.Println(n6)
fmt.Println(n7)
//全局變量的調(diào)用
fmt.Println(n8)
fmt.Println(n9)
fmt.Println(n10)
fmt.Println(n11)
}
執(zhí)行結果
PS D:\golang\goproject> go run D:\golang\goproject\src\src01\demo2\main.go
18
0
20
9
0
0
0
10
jak
7.8
PS D:\golang\goproject> go run D:\golang\goproject\src\src01\demo2\main.go
18
0
20
9
0
0
0
10
jak
7.8
18.7
18
PS D:\golang\goproject> go run D:\golang\goproject\src\src01\demo2\main.go
18
0
20
9
0
0
0
10
jak
7.8
18.7
18
100
123.5
45
晨曦
草都可以從石頭縫隙中長出來更可況你呢

浙公網(wǎng)安備 33010602011771號