golang中变量交换的2种方式

变量的交换在我们对数据进行排序时是必须要用到的技术, 今天就给大家介绍2种go语言中交换变量的方式。

  1. 使用传统方式定义一个中间变量来进行变量的交换
Go 复制代码
// 文件名 demo1.go
package demo01

import "fmt"


func ExampleDemo02() {
	//常规方式进行变量交换, 需要定义中间变量 tmp
	var a = 2
	var b = 3
	var tmp =0
	tmp = a
	a = b
	b = tmp

	fmt.Printf("a =%v, b =%v \n", a, b)
	// Output: a =3, b =2
}
  1. 利用golang中的一个很特别变量的定义方式,即 我们可以使用逗号来批量定义和赋值变量来进行变量的交换,这个在其他语言里面是没有的。

示例:

Go 复制代码
// 文件名 demo1.go
package demo01

import "fmt"

func ExampleDemo01() {
	var a = 1
	var b = 2
	a, b = b, a // 利用golang批量定义赋值变量的特性直接交换a,b的值
	fmt.Printf("a =%v, b =%v\n", a, b)
	// Output: a = 2, b = 1
}

总结: 建议大家使用第2种方式, 这个简洁明了,而且效率也高, 这也算是学以致用了!

相关推荐
froginwe1113 小时前
C 标准库 - `<errno.h>`
开发语言
鹿角片ljp13 小时前
Java IO流案例:使用缓冲流恢复《出师表》文章顺序
java·开发语言·windows
纵有疾風起14 小时前
【Linux 系统开发】基础开发工具详解:自动化构建、版本控制与调试器开发实战
linux·服务器·开发语言·c++·经验分享·开源·bash
阿豪只会阿巴14 小时前
项目心得——发布者和订阅者问题解决思路
linux·开发语言·笔记·python·ubuntu·ros2
wjs202414 小时前
Java 注释
开发语言
人道领域14 小时前
JavaWeb从入门到进阶(javaScript)
开发语言·javascript·ecmascript
chilavert31814 小时前
技术演进中的开发沉思-317 JVM:指令集(下)
开发语言·python
不绝19114 小时前
C#核心——面向对象:封装
开发语言·javascript·c#
yaoxin52112315 小时前
294. Java Stream API - 对流进行归约
java·开发语言
ghie909015 小时前
基于MATLAB的演化博弈仿真实现
开发语言·matlab