零值并不等于空值,而是当变量被声明为某种类型后的默认值, 通常情况下值类型的默认值为0,bool为false,string为空字符串
package main
import "fmt"
type (
iii int
sss string
)
var intNum iii = 4
var sssNum sss = "abc"
func main() {
fmt.Println(intNum, sssNum)
}
var intNum int
intNum = 4
var intNum int = 4
全局变量的声明可使用 var() 的方式进行简写 全局变量的声明不可以省略 var,但可使用并行方式 所有变量都可以使用类型推断 局部变量不可以使用 var() 的方式简写,只能使用并行方式
package main
import "fmt"
var (
a = "a"
b, c = "b", "c"
f, g int = 1, 2
h, i, j string
)
var d, e string = "d", "e"
var aaa int
//全局变量不可以在外部先声明再赋值
//aaa=4
func main() {
h, i, j := "h", "i", "j"
fmt.Println(a, b, c, d, e, f, g, h, i, j, aaa)
aaa = 3
fmt.Println(aaa)
}
<ValueA> [:]= <TypeOfValueA>(<ValueB>)
var a float64 = 1.234
b:=int(a)
fmt.Println(b) //print 1
var c bool = true
d:=int(c) //error : cannot convert c (type bool) to type int
fmt.Println(d)