首页 > 编程笔记

Go语言变量多重赋值

变量多重赋值是指多个变量同时赋值。在Go语言语法中,变量初始化和变量赋值是两个不同的概念,Go语言的变量赋值与其他语言一样,但是Go语言提供了其他程序员期待已久的多重赋值功能,可以实现变量交换。多重赋值让Go语言比其他语言减少了代码量。

以简单的算法交换变量为例,传统写法如下所示。

var a int = 10
var b int = 20
var tmp int
tmp = a
a = b
b = t

新定义的变量是需要内存的,于是有人设计了新的算法来取代中间变量,其中一种写法如下所示。

var a int = 10
var b int = 20
a = a ^ b
b = b ^ a
a = a ^ b

以Go语言的多重赋值功能为例,写法如下所示。

var a int = 10
var b int = 20
b, a = a, b

从以上例子来看,Go语言的写法明显简洁了许多,需要注意的是,多重赋值时,左值和右值按照从左到右的顺序赋值。这种方法在错误处理和函数当中会大量使用。

优秀文章