一. 标准格式:var 变量名 变量类型 (包内,函数内)
package main
import "fmt"
func variable() {
var a int
var s string
var b bool
fmt.Printf("%d\n%q\n", a, s)
fmt.Println(b)
}
func main() {
variable()
}
// 输出的结果
0
""
false
根据以上代码发现GO变量的定义有几个特点:
1. 跟其他语言不同,go语言把变量的类型写到最后
2. 当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等。所有的内存在 Go 中都是经过初始化的。
3.行尾无须封号
二 .变量赋初值的几种写法:
// 变量赋初值的写法
func variableInitialValue() {
var a, b int = 3, 3
var s string = "abc"
var a2 = 1
s2, b2 := "cda", false
var (
a3 = 3
s3 = "sdd"
)
fmt.Println(a, b, b2, s, s2, a3, s3, a2)
}
主要分为两种:
1.批量格式:一个var里面底定义多个
2.简短格式:i, j := 0, 1 *
变量赋初值的特点:
1.简短格式作用域在函数内,不能在函数外这样写
2.编译器自动推导类型的格式,如简短格式,或者:var a2 = 40