当前位置: 首页 > news >正文

Go学习:多重赋值与匿名变量

1. 变量的多重赋值

        1.1 基本语法格式      

        go语言中,可以将多个赋值语句 合并成 一句,比如:

a := 10
b := 20
c := 30//a,b,c三个变量的赋值语句可以简练成以下格式a, b, c := 10, 20, 30

       1.2 交换变量值      

        当需要交换两个变量的值时,在传统方法中,需要引入中间变量temp,但是,在go语言中,变量值的交换可以简化为以下格式:

i, j = j, i

        该语法格式对 i,j 两个变量的值进行了交换,j 的值赋给了 i,i 的值赋给了 j。 

例如以下代码:

package main //必须有main包import "fmt"func main() {// a := 10// b := 20// c := 30a, b := 20, 30fmt.Println("1.传统方法:")fmt.Printf("a = %d, b = %d\n", a, b)/*交换两个变量的值*///1. 传统方法: 引入中间变量 tmpvar tmp inttmp = aa = bb = tmpfmt.Printf("a = %d, b = %d\n", a, b)//2. go语言中语法 // i := 10// j := 20i, j := 10, 20 //将上面两个赋值语句 合并成 一句fmt.Println("2. go语言中语法:")fmt.Printf("交换前:i = %d, j = %d\n", i, j)i, j = j, ifmt.Printf("交换后:i = %d, j = %d\n", i, j)}

2. 匿名变量的使用

        _ :代表匿名变量,可以丢弃数据不处理,

        注:_匿名变量配合函数返回值使用,才有优势

package main //必须有main包import "fmt"// go函数可以返回多个返回值
func test() (a, b, c int) {return 1, 2, 3
}func main() {var tmp inti, j := 10, 20//匿名变量i = 10j = 20// _ :代表匿名变量,丢弃数据不处理, _匿名变量配合函数返回值使用,才有优势tmp, _ = i, jfmt.Println("tmp = ", tmp)var c, d, e intc, d, e = test() //return 1, 2, 3fmt.Printf("c = %d, d = %d, e = %d\n", c, d, e)//只需要某一个值_, d, _ = test() //return 1, 2, 3fmt.Printf("d = %d\n", d)//需要某两个值_, d, e = test() //return 1, 2, 3fmt.Printf("d = %d, e = %d\n", d, e)}

http://www.lryc.cn/news/518185.html

相关文章:

  • 【Ubuntu 上搭建 Nginx-RTMP 服务】
  • 使用uniapp 微信小程序一些好用的插件分享
  • linux centos挂载未分配的磁盘空间
  • C语言凯撒密码程序分享
  • 2025新年源码免费送
  • 阿里云ethereum
  • 子父组件传值
  • QT自定义工具条渐变背景颜色一例
  • 2025最新Facebook广告投放常见问题:如何提高广告效果?
  • 双向导航和单向导航
  • Unity3d 基于Barracuda推理库和YOLO算法实现对象检测功能
  • Lambda离线实时分治架构深度解析与实战
  • Spring Boot教程之五十一:Spring Boot – CrudRepository 示例
  • jenkins入门6 --拉取代码
  • CAPL概述与环境搭建
  • Virgo:增强慢思考推理能力的多模态大语言模型
  • 偃动访无穿戴动作捕捉系统:赋能多行业开启动作捕捉新篇章
  • mikro-orm 和typeorm 对比
  • Docker入门之docker基本命令
  • mysql的一些函数及其用法
  • NO.3 《机器学习期末复习篇》以题(问答题)促习(人学习),满满干huo,大胆学大胆补!
  • 黑马跟学.苍穹外卖.Day03
  • js -音频变音(听不出说话的人是谁)
  • 鸿蒙UI(ArkUI-方舟UI框架)
  • 常见的http状态码 + ResponseEntity
  • pikachu - Cross-Site Scripting(XSS)
  • 操作系统之文件系统的基本概念
  • 深入探讨 Android 中的 AlarmManager:定时任务调度及优化实践
  • 西电-算法分析-研究生课程复习笔记
  • 编译时找不到需要的库,如何在PyCharm中为你的项目添加需要的库