一、变量注意事项
(1)变量表示内存中的一个存储区域;
(2)该区域有自己的名称(变量名)和类型(数据类型);
(3)go变量使用的方式:
指定变量类型,声明后若不赋值,使用默认值0;
根据值自行判定变量类型;
省略var,使用:= ;
package main
import "fmt"
func main() {
var i int
fmt.Println("i=", i)
var j = "你好"
fmt.Println("j说", j)
name := "tom" //先声明再定义,等价于var name string name = "tom" :不能省略
fmt.Println("name = ", name)
}
输出:
root@VM-4-2-ubuntu:/home/ubuntu/software/go/Project/src/go_code/chaptor3# go run demo1.go
i= 0
j说 你好
name = tom
(4)多变量声明
go支持一次性声明多个变量;
package main
import "fmt"
func main() {
var n1, n2, n3, n4 int
fmt.Println("n1=",n1,"n2=",n2,"n3=",n3,"n4=",n4)
var i, j, k = 100, "tom", 22
fmt.Println("i=",i,"j=",j,"k=",k)
a, b, c := 12, "jack", 178
fmt.Println("a=",a,"b=",b,"c=",c)
}
输出:
root@VM-4-2-ubuntu:/home/ubuntu/software/go/Project/src/go_code/chaptor3/demo2# go run main.go
n1= 0 n2= 0 n3= 0 n4= 0
i= 100 j= tom k= 22
a= 12 b= jack c= 178
(5)全局变量
全局变量在函数外定义
package main
import "fmt"
var n1 = 1
var n2 = 2
var (
n3 = 3
n4 = 4
)
func main() {
fmt.Println("n1=",n1,"n2=",n2,"n3=",n3,"n4=",n4)
}
输出
root@VM-4-2-ubuntu:/home/ubuntu/software/go/Project/src/go_code/chaptor3/demo3# go run main.go
n1= 1 n2= 2 n3= 3 n4= 4
(6)变量=变量名+值+数据类型,三要素;
(7)go的变量苏果没有赋初始值,编译器会使用默认值,如int符值0,string默认空串,小数默认0
二、变量中运算符的使用
(1)当左右两侧都是数值型,做加法运算;
package main
import "fmt"
func main() {
var a int = 5 //使用var声明变量,也可以去除int
b := 10 //使用:=声明变量
var c = a + b
fmt.Println("c=", c)
}
输出:
PS D:\goproject\src\go_code\chaptor1\demo01> go build .\main.go
PS D:\goproject\src\go_code\chaptor1\demo01> .\main.exe
c= 15
(2)当左右两侧是字符串是,做字符串拼接
package main
import "fmt"
func main() {
var i = "北京烤鸭"
var j = "南京烤鸭"
var k = "好吃"
var a = i + k
var b = j + k
fmt.Println("到底", a, "还是", b)
}
输出
PS D:\goproject\src\go_code\chaptor1\demo02> go build .\main.go
PS D:\goproject\src\go_code\chaptor1\demo02> .\main.exe
到底 北京烤鸭好吃 还是 南京烤鸭好吃