Golang中交换两个变量的值,但是不允许使用第三个变量?
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\nb=%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\n", i, j)
i, j = j, i
fmt.Printf("After i=%v j=%v\n", i, j)
}
运行结果
方法一>>:
Before i=2 j=3
After i=3 j=2
提供面试指导、模拟面试、简历项目优化和职业规划等
负责SRE团队,运维架构(DevOps)、微服务流量治理(K8s、Ingress)、稳定性和可测性系统建设(Prometheus、EFK、Loki)

浙公网安备 33010602011771号