package main import "fmt" // ===========定义全局变量========== var n1 = 100 var n2 = 200 var name = "jack" // 上面的声明方式,也可以改成一次性声明 var ( n3 = 300 n4 = 900 name2 = "mary" ) func main() { // =============变量声明====================== // golang的变量使用方式1 // 第一种:指定变量类型,声明后若不赋值,使用默认值 // int 的默认值是0 , 其它数据类型的默认值后面马上介绍 var i int fmt.Println("i=", i) // 第二种:根据值自行判定变量类型(类型推导) // 省略变量类型,直接初始化,还有就是先声明在赋值 var num = 10.11 fmt.Println("num=", num) // 第三种:省略var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误 // 下面的方式等价 var name string name = "tom" // := 的 :不能省略,否则错误 name := "tom" //==================一次性声明多个变量================= var n1, n2, n3 int fmt.Println("n1=", n1, "n2=", n2, "n3=", n3) // 一次性声明多个变量的方式2 var n1, name, n3 = 100, "tom", 888 fmt.Println("n1=", n1, "name=", name, "n3=", n3) // 一次性声明多个变量的方式3, 同样可以使用类型推导 n1, name, n3 := 100, "tom~", 888 fmt.Println("n1=", n1, "name=", name, "n3=", n3) // ==========数据值可以在同一类型范围内不断变化============ var i int = 10 i = 30 i = 50 i = 1.2 //int ,原因是不能改变数据类型 // 变量在同一个作用域(在一个函数或者在代码块)内不能重名 var i int = 59 i := 99 }
原文:https://www.cnblogs.com/yzg-14/p/12174319.html