package main /* 四种声明变量的方式 */ import ( "fmt" ) var gA int = 100 var gB = 200 func main() { // 方法一:声明一个亦是 默认的值是0 var a int fmt.Println("a = ", a) fmt.Printf("type of a is %T\n", a) // 方法二:声明一个变量,初始化一个值 var b int = 100 fmt.Println("b = ", b) fmt.Printf("type of b = %T\n", b) var bb string = "abcd" fmt.Printf("bb = %s\ntype of bb is %T\n", bb, bb) // 方法三:在初始化的时候,可以省去数据类型,通过值自动匹配当前的变量的数据类型 var c = 100 fmt.Println("c = ", c) fmt.Printf("type of c = %T\n", c) var cc = "abcd" fmt.Printf("cc = %s\ntype of cc is %T\n", cc, cc) // 方法四:(常用的方法)省略var关键字,直接自动匹配,:=只能用在函数体内,不能用于声明全局变量 e := 100 fmt.Println("e = ", e) fmt.Printf("type of e is %T\n", e) g := 3.14 fmt.Println("g = ", g) fmt.Printf("type of g is %T\n", g) // ==== fmt.Println("gA = ", gA, ", gB = ", gB) // 声明多个变量 var xx, yy int = 100, 200 fmt.Println("xx = ", xx, ", yy = ", yy) var kk, ll = 100, "Alice" fmt.Println("kk = ", kk, ", ll = ", ll) // 多行多变量声明 var ( vv int = 100 jj bool = true ) fmt.Println("vv = ", vv, ", jj = ", jj) }