Go 语言学习笔记(二)

44 阅读1分钟

Go 语言变量

Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。 变量可以通过变量名访问。

声明变量的一般形式是使用 var 关键字:

var identifier type

可以一次声明多个变量:

var identifier1, identifier2 type

变量声明

第一种,指定变量类型,如果没有初始化,则变量默认为零值

var v_name v_type
v_name = value

零值就是变量没有做初始化时系统默认设置的值。

实例

package main

import "fmt"
func main() {
    var a = "HELLO"
    fmt.Println(a)

    // 没有初始化就为零值
    var b int
    fmt.Println(b)

    // bool 零值为 false
    var c bool
    fmt.Println(c)
    }

以上实例执行结果为:

HELLO
0
false
  • 数值类型(包括complex64/128)为 0

  • 布尔类型为 false

  • 字符串为  "" (空字符串)

  • 以下几种类型为 nil

    var a *int
    var a []int
    var a map[string] int
    var a chan int
    var a func(string) int
    var a error // error 是接口
    

第二种,根据值自行判定变量类型。

var v_name = value

简短形式,使用 := 赋值操作符

我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,因此我们可以将它们简写为 a := 50 或 b := false。

a 和 b 的类型(int 和 bool)将由编译器自动推断。

这是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。使用操作符 := 可以高效地创建一个新的变量,称之为初始化声明。