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

相关推荐
递归不收敛20 分钟前
一、Java 基础入门:从 0 到 1 认识 Java(详细笔记)
java·开发语言·笔记
小沈同学呀1 小时前
创建一个Spring Boot Starter风格的Basic认证SDK
java·spring boot·后端
zhangfeng11331 小时前
win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
开发语言·人工智能·r语言·生物信息
方圆想当图灵3 小时前
如何让百万 QPS 下的服务更高效?
分布式·后端
子午3 小时前
Python的uv包管理工具使用
开发语言·python·uv
凤山老林3 小时前
SpringBoot 轻量级一站式日志可视化与JVM监控
jvm·spring boot·后端
凡梦千华3 小时前
Django时区感知
后端·python·django
HMBBLOVEPDX4 小时前
C++(静态函数)
开发语言·c++
Chan164 小时前
JVM从入门到实战:从字节码组成、类生命周期到双亲委派及打破双亲委派机制
java·jvm·spring boot·后端·intellij-idea
dpxiaolong4 小时前
RK3588 Android12默认移除导航栏
开发语言·python