Go语言中多重赋值可简洁高效地初始化变量、交换值及处理多返回值函数。1. 支持多变量同时赋值:a, b := 10, 20;2. 变量交换无需临时变量:a, b = b, a;3. 适用于函数多返回值接收:value, err := func()。该特性提升代码清晰度与简洁性,是Go日常开发中的实用语法。

在Go语言中,多重赋值是一个简洁而强大的特性,它允许你在一行代码中同时给多个变量赋值。这个特性不仅让代码更清晰,还特别适合用来交换变量的值。
多重赋值的基本用法
Go支持直接通过逗号分隔的方式进行多变量同时赋值:
a, b := 10, 20 x, y, z := "hello", 42, true
这种写法在初始化多个变量时非常方便,右侧的表达式会依次赋给左侧的变量。
交换两个变量的值
利用多重赋值,你可以轻松交换两个变量的值,无需引入临时变量:
立即学习“go语言免费学习笔记(深入)”;
a, b = b, a
比如:
x := 5 y := 8 x, y = y, x // 交换后 x = 8, y = 5
这行代码在底层由Go运行时高效处理,等效于使用临时变量,但写起来更简洁安全。
在函数返回多个值时的应用
Go函数常返回多个值(如 err 返回模式),多重赋值在这里特别有用:
value, err := someFunction() result, ok := cache[key]
你也可以结合多重赋值从函数调用中接收并立即分配多个返回值:
func swap(a, b int) (int, int) {
return b, a
}
m, n := 1, 2
m, n = swap(m, n) // m=2, n=1
基本上就这些。Go的多重赋值简单直观,交换变量只需一行,是日常编码中非常实用的语法特性。










