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种方式, 这个简洁明了,而且效率也高, 这也算是学以致用了!

相关推荐
Buxxxxxx12 小时前
DAY 34 模块和库的导入
开发语言·python
老前端的功夫12 小时前
前端水印技术深度解析:从基础实现到防破解方案
开发语言·前端·javascript·前端框架
oioihoii12 小时前
C++异常安全保证:从理论到实践
开发语言·c++·安全
霍格沃兹测试学院-小舟畅学12 小时前
性能测试入门:使用 Playwright 测量关键 Web 性能指标
开发语言·前端·php
用户685453759776912 小时前
别再裸奔写Python了!类型注解+mypy让你代码健壮如钢铁侠
后端
用户685453759776912 小时前
为什么大厂都在升级Python 3.12?看完我连夜重构了代码
后端
Frank_zhou12 小时前
039_Netty网络编程服务端入门程序开发
后端
三姓码农张员外12 小时前
1、Elasticsearch快照迁移
后端
动感小麦兜12 小时前
NAS学习
java·开发语言·eureka
sin6012 小时前
学习笔记:异常,泛型,集合(代码示例,企业面试题,企业实际应用场景)
后端