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

目录

1. 变量的多重赋值

 1.1 基本语法格式      

 1.2 交换变量值      

2. 匿名变量的使用


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 := 30

	a, b := 20, 30

	fmt.Println("1.传统方法:")
	fmt.Printf("a = %d, b = %d\n", a, b)

	/*交换两个变量的值*/

	//1. 传统方法: 引入中间变量 tmp

	var tmp int
	tmp = a
	a = b
	b = tmp
	fmt.Printf("a = %d, b = %d\n", a, b)

	//2. go语言中语法 

	// i := 10
	// j := 20
	i, j := 10, 20 //将上面两个赋值语句 合并成 一句

    fmt.Println("2. go语言中语法:")
	fmt.Printf("交换前:i = %d, j = %d\n", i, j)

	i, j = j, i
	fmt.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 int
    i, j := 10, 20

	//匿名变量
	i = 10
	j = 20
	// _ :代表匿名变量,丢弃数据不处理, _匿名变量配合函数返回值使用,才有优势
	tmp, _ = i, j
	fmt.Println("tmp = ", tmp)

	var c, d, e int
	c, d, e = test() //return 1, 2, 3
	fmt.Printf("c = %d, d = %d, e = %d\n", c, d, e)

	//只需要某一个值
	_, d, _ = test() //return 1, 2, 3
	fmt.Printf("d = %d\n", d)

	//需要某两个值
	_, d, e = test() //return 1, 2, 3
	fmt.Printf("d = %d, e = %d\n", d, e)

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值