学习go语言编程之变量

  1. 变量声明
  2. 变量初始化
  3. 变量赋值
  4. 匿名变量

关于Go环境的安装以及相关环境变量的配置说明详见:学习go语言编程系列之helloworld

变量声明

在Go中使用关键字var声明变量,格式为var 变量名 变量类型,如下示例:

var v1 int             // 整型
var v2 string          // 字符串
var v3 [10]int         // 数组b
var v4 []int           // 数组切片
var v5 struct {        // 结构体
    f int
}
var v6 *int            // 指针
var v7 map[string]int  // map,key为string类型,value为int类型
var v8 func(a int) int // 函数

另一种用法是将多个变量放在一起:

var {
    v1 int
    v2 string
}

变量初始化

对于声明变量时需要初始化的场景,关键字var可以保留,但不是必须的。

var v1 int = 10 // 完整格式,声明变量名称及类型
var v2 = 10     // 编译器会自动推导出v2的类型
v3 := 10        // 编译器会自动推到出v3的类型

对于变量名 := 初始值这种格式声明的变量不应该是被声明过的,构造编译报错。

var i int
i := 10        // 变量i已经被声明过,不允许使用这种格式再次声明并初始化

变量赋值

注意:在Golang中,变量初始化和变量赋值是两个不同的概念。

var v1 int     // 声明变量
v1 = 10        // 变量赋值

在Golang中支持多重赋值,用于实现“交换2个变量的值”:

var i int = 10
var j int = 20
i, j = j, i   // 变量多重赋值,实现变量值交换

匿名变量

匿名变量是指在函数中返回多个变量值时,可以通过明确指定变量名来获取值,对于哪些没有明确获取的变量就是匿名的。

// 在函数中返回多个值
func GetName()(firstName, lastName, nickName string) {
    return "wang", "xiaohu", "xiaowang" 
}

// 通过指定变量名获取值
_,_,nickName = GetName()

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,在下面评论区告诉我^_^^_^