Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。
声明变量的一般形式是使用 var 关键字:
var 变量名 变量类型
单个变量声明的形式
1.指定变量类型,声明后若不赋值,使用默认值。
var v_name v_type
var a int
2.根据值自行判定变量类型。
var v_name = v_value
var a = 2
3.省略var 使用 := 初始化变量(局部变量的声明方式,全局变量不能省略var)
v_name := v_value
a := "hello world"
多变量声明方式
//多变量声明
//1 var v_name1, v_name2, v_name3 v_type
var aa, bb, cc bool
fmt.Println(aa,bb,cc)
//2 var v_name1, v_name2, v_name3 = v1, v2, v3
var a1, a2, a3 = 11,12,13
fmt.Println(a1,a2,a3)
//3 v_name1, v_name2, v_name3 := v1, v2, v3
aa1, aa2, aa3 := 111,222,333
fmt.Println(aa1,aa2,aa3)
全局变量的批量声明
var (
v_name v_type
v_name v_type
)
变量定义示例
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)
}
//output: 0 0 0 false 1 2 123 hello 123 hello
如果你想要交换两个变量的值,则可以简单地使用 a, b = b, a。
空白标识符 _ 也被用于抛弃值,如值 5 在:_, b = 5, 7 中被抛弃
。
_ 实际上是一个只写变量,你不能得到它的值。这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。
并行赋值也被用于当一个函数返回多个返回值时,比如这里的 val 和错误 err 是通过调用 Func1 函数同时得到:val, err = Func1(var1)。
网友评论