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

相关推荐
Gomiko15 小时前
JavaScript DOM 原生部分(五):事件绑定
开发语言·前端·javascript
无限大615 小时前
为什么显示器分辨率越高越清晰?——从像素到 4K/8K 的视觉革命
后端
lly20240615 小时前
Redis 发布订阅
开发语言
A0_張張15 小时前
记录一个PDF盖章工具(PyQt5 + PyMuPDF)
开发语言·python·qt·pdf
巴拉巴拉~~15 小时前
Flutter 通用下拉选择组件 CommonDropdown:单选 + 搜索 + 自定义样式
开发语言·javascript·ecmascript
阿苟15 小时前
nginx部署踩坑
前端·后端
ZHang......15 小时前
LeetCode 1114. 按序打印
java·开发语言·算法
缺点内向15 小时前
如何在 C# 中重命名 Excel 工作表并设置标签颜色
开发语言·c#·excel
Можно15 小时前
深入理解 JavaScript 函数:分类、特性与实战应用
开发语言·javascript
ChineHe15 小时前
Gin框架基础篇001_路由与路由组详解
后端·golang·gin