跟着google工程师学Go语言(二):Golang变量定义

欢迎来到:Google资深工程师深度讲解Go语言

视频地址:Google资深工程师深度讲解Go语言

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

示例:

var a int
var b bool
var str string  

你也可以改写成这种形式:

var (
    a int
    b bool
    str string
)

这种因式分解关键字的写法一般用于声明全局变量。

当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil。记住,所有的内存在 Go 中都是经过初始化的。

变量的命名规则遵循骆驼命名法,即首个单词小写,每个新单词的首字母大写,例如:numShips 和 startDate。

但如果你的全局变量希望能够被外部包所使用,则需要将首个单词的首字母也大写。

  • 注:凡是导出包首字母必须大写。

声明与赋值(初始化)语句也可以组合起来。

示例:

var a = 15
var b = false
var str = "Go says hello to the world!"

或:

var (
    a = 15
    b = false
    str = "Go says hello to the world!"
    numShips = 50
    city string
)

不过自动推断类型并不是任何时候都适用的,当你想要给变量的类型并不是自动推断出的某种类型时,你还是需要显式指定变量的类型,例如:

var n int64 = 2

当你在函数体内声明局部变量时,应使用简短声明语法 :=,例如:

a := 1

其他的简短形式为:

同一类型的多个变量可以声var a, b, c int`识符后面的一个重要原因)

多变量可以在同一行进a, b, c = 5, 7, "abc"了变量 a,b 和 c 都已经被声明,否则的话应该这样使用:

a, b, c := 5, 7, "abc"

右边的这些值以相同的顺序赋值给左边的变量,所以 a 的值是 5, b 的值是 7,c 的值是 “abc”。

这被称为 并行 或 同时 赋值。

如果你想要交换两个变量的值,则可以简单地使用 a, b = b, a

(在 Go 语言中,这样省去了使用交换函数的必要)

空白标识符 _ 也被用于抛弃值,如值 5 在:_, b = 5, 7 中被抛弃。

_ 实际上是一个只写变量,你不能得到它的值。这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。

详细文档参考,GO入门指南:变量

猜你喜欢

转载自blog.csdn.net/u010363932/article/details/81633739