1. 变量声明
使用关键字 var
- var v1 int // 整型
- var v2 string // 字符串
- var v3 [10]int // 数组
- var v4 []int // 数组切片
- var v5 struct { // 结构体
- f int
- }
- var v6 *int // 指针
- var v7 map[string] //map,key 为 string 类型, value 为 int 类型
还有一种用法就是将若干个需要声明的变量放置在一起
- var (
- v1 int
- v2 string
- )
2. 变量初始化
变量初始化有三种方式:
- var v1 int = 10 // 方式 1
- var v2 = 10 // 方式 2, 编译器可以自动推导出 v2 的类型
- v3 := 10 // 方式 3, 可以省略关键字 var 和类型, 编译器可以自动推导出 v3 的类型
注意: 出现在:= 左侧的变量不能是已经被声明过的, 否则会导致编译错误
4. 变量赋值
在 Go 语言中, 变量初始化和变量赋值是两个不同的概念
- var v10 int
- v10 = 123
注意: Go 语言里面支持多重赋值功能, 这个在 Python 里面也是支持的.
i, j = j, i // 交换 i 和 j 变量
5. 匿名变量
_(下划线) 是个特殊的变量名, 任何赋予它的值都会被丢弃:
- _, i, _, j := 1, 2, 3, 4
- func test() (int, string) {
- return 250, "sb"
- }
- _, str := test()
来源: http://www.bubuko.com/infodetail-2735908.html