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

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM