package main import ( "fmt" ) func main() { //声明两个变量并且赋值 a=10 b=20 交换后的值是a=20 b=10 并且,不可以使用第三个变量 a := 10 b := 20 //1.首先a=a+b的值 10+20=30 a = a + b // 这个时候a的值发生改变但是b的值没有 b=a-b b = a - b // b = a -b ==>> b = a + b -b 等于a的值 b=10 a = a - b // a的值未发生改变还是原来的30 a - b == 30 - 10 =20 等于a=20 这里的b现在是10是a的值 fmt.Printf("a=%v b=%v", a, b) } 运行的结果 a=20 b=10
方法二:
Go 语言提供了大多数语言不支持的多重赋值,这使得变量的交换变得十分简单。下面通过一个例子来了解 Go 语言的多重赋值:
func main() {
fmt.Println("方法一>>:") var i int = 2 var j int = 3 fmt.Printf("Before i=%v j=%v ", i, j) i, j = j, i fmt.Printf("After i=%v j=%v ", i, j) } 运行结果 方法一>>: Before i=2 j=3 After i=3 j=2