声明
单一变量
1、指定变量类型,声明后不赋值,go会自动给定默认值
var n int
2、根据值,自行判定变量类型(类型推导)
变量声明时就直接赋值,可省略数据类型
var n = 10.2
3、省略var,:= 左边的变量不应该是已经声明过的,否则会报错
短变量的声明和赋值
name := 'xiao'
多变量声明
局部多变量声明
// 同一种类型var n1, n2, n3 intfmt.Println("n1=", n1,"n2=", n2,"n3=", n3,) // n1= 0 n2= 0 n3= 0// 不同类型var num, name2, sex = 12, "xiao", truefmt.Println("num=", num,"name2=", name2,"sex=", sex,) // num= 12 name2= xiao sex= true// 类型推导a, b, c := 1, "str", falsefmt.Println("a=", a,"b=", b,"c=", c,) // a= 1 b= str c= false
全局多变量声明
var num1 = 100var num2 = 200var name3 = "tom"// 上面的写法可以简化成下面的, 注意没有,号var (x = 22y = 33z = "44")fmt.Println("num1=", num1,"num2=", num2,"name3=", name3,) // num1= 100 num2= 200 name3= tomfmt.Println("x=", x,"y=", y,"z=", z,) // x= 22 y= 33 z= 44
赋值 使用
package mainimport "fmt"// 全局变量声明var num1 = 100var num2 = 200var name3 = "tom"// 上面的写法可以简化成下面的, 注意没有,号// 全局多变量声明var (x = 22y = 33z = "44")// non-declaration statement outside function body// 不使用var声明,只适用与函数内部,全局变量不行// test := "123132"// fmt.Println('test=', test)func main() {// 局部变量声明// 局部单一变量// 1、指定变量类型,声明后不赋值,go会自动给定默认值var i inti = 10fmt.Println("i=", i)// 2、根据值,自行判定变量类型(类型推导)var n = 10.2fmt.Println("n=", n)// 3、省略var,:= 左边的变量不应该是已经声明过的,否则会报错name := "xiao"fmt.Println("name=", name)// 局部多变量声明// 1、同一种类型var n1, n2, n3 intfmt.Println("n1=", n1, "n2=", n2, "n3=", n3)// 2、不同类型var num, name2, sex = 12, "xiao", truefmt.Println("num=", num, "name2=", name2, "sex=", sex)// 3、类型推导a, b, c := 1, "str", falsefmt.Println("a=", a, "b=", b, "c=", c)// 全局变量打印fmt.Println("num1=", num1, "num2=", num2, "name3=", name3)fmt.Println("x=", x, "y=", y, "z=", z)}// syntax error: non-declaration statement outside function body// fmt.Println("x=", x, "y=", y, "z=", z)
