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

相关推荐
mzlogin1 分钟前
解决访问 https 网站时,后端重定向或获取 URL 变成 http 的问题
java·后端·nginx
丙寅26 分钟前
微信小程序反编译遇到 TypeError: _typeof3 is not a function
开发语言·javascript·ecmascript
醇氧26 分钟前
MAC 安装openJDK8
java·开发语言
海阔天空在前走30 分钟前
JAVA中六种策略模式的实现
java·开发语言·策略模式
青衫码上行33 分钟前
【Java Web学习 | 第十篇】JavaScript(4) 对象
java·开发语言·前端·javascript·学习
q***697737 分钟前
快速在本地运行SpringBoot项目的流程介绍
java·spring boot·后端
禁默39 分钟前
基于Rust实现爬取 GitHub Trending 热门仓库
开发语言·rust·github
q***428240 分钟前
前端的dist包放到后端springboot项目下一起打包
前端·spring boot·后端
大邳草民42 分钟前
深入理解 Python 的属性化方法
开发语言·笔记·python
唐小码1 小时前
Redis RedisTimeSeries 在springboot中的应用
spring boot·redis·后端