package main
import "fmt"
// 这里不叫全局变量,这里叫做包内变量,作用域这个包內
var (
aa = 3
ss = "kkk"
bb = true
)
// go语言定义了变量不赋值,有默认初值 不是我们学习的Java中的默认null
// go语言中不允许定义未使用过的变量
func variableZeroValue() {
var a int
var s string
fmt.Printf("%d %q\n", a, s)
}
// go语言中变量定义了就需要用到
func variableInitValue() {
var a int = 3
var b, c int = 3, 5
var s string = "abc"
fmt.Println(a, s)
fmt.Println(b, c)
}
// go语言可以推断出我们变量的类型
func variableTypeDeduction() {
var a, b, c, s = 3, 5, true, "def"
fmt.Println(a, b, c, s)
}
// 更加简短的写法
func variableShorter() {
// 第一次赋值需要用 := 后面重复赋值就不需要了
// := 只能用于函数的内部,不能作用在全局定义
a, b, c, s := 3, 5, true, "def"
fmt.Println(a, b, c, s)
}
func main() {
// 我们的第一句hello world
fmt.Println("hello world!")
variableZeroValue()
variableInitValue()
variableTypeDeduction()
variableShorter()
fmt.Println(aa, bb, ss)
}
版权归属:
Epoch
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区