golang 变量初始化声明方法总结
package main
import "fmt"
func main() {
//变量声明
var a string = "Runoob"
var b, c int = 1,2
fmt.Println(a)
fmt.Println(b, c)
fmt.Println("=============================================")
//第一种,指定变量类型,如果没有初始化,则变量默认为零值。
//声明一个变量并初始化
var d = "RUNOOB"
fmt.Println(d)
//没有初始化就为零值
var e int
fmt.Println(e)
//bool 零值为false
var f bool
fmt.Println(f)
fmt.Println("=============================================")
var i int
var l float64
var o bool
var s string
//Printf和Println还不一样!
fmt.Println("%v %v %v %q\t", i, l, o, s)
fmt.Printf("%v %v %v %q\n", i, l, o, s)
fmt.Println(i, l, o, s)
fmt.Println("=============================================")
//第二种,根据值自行判定变量类型。
var w = true
fmt.Println(w)
fmt.Println("=============================================")
//第三种,如果变量已经使用 var 声明过了,再使用 := 声明变量,就产生编译错误
q :="huohu"
//相当于==>
var v string
v = "huohu"
fmt.Println("q->"+q)
fmt.Println("v->"+v)
//所以 var r string = "huohu 可以简写为:
r := "huohu"
fmt.Println("r->"+r)
}
运行结果:
补充!:
-
全局变量是允许声明但不使用的!
-
_ 实际上是一个只写变量,你不能得到它的值
这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。
package main
var x, y int
var ( //这种写法一般用于声明全局变量 (全局变量是允许声明但不使用的!)
a int
b bool
)
var c, d int = 1, 2
var e, f = 123, "hello"
//这种不带声明格式的只能在函数体中出现
//g, h:= 123,"hello"
func main() {
g, h := 123, "hello"
println(x, y, a, b, c, d, e, f, g, h)
//如值 5 在:_, g = 5, 7 中被抛弃。
//_ 实际上是一个只写变量,你不能得到它的值。
//这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。
_, g = 5, 7
}
/_ 实际上是一个只写变量,你不能得到它的值。
//这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。
_, g = 5, 7
}