5多重赋值和匿名变量

Posted zyqy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5多重赋值和匿名变量相关的知识,希望对你有一定的参考价值。

 

package main

import "fmt" //gmt.Pringln()

//go函数可以返回多个值
func test() (a, b, c int) 
    return 1, 2, 3


func main() 
    //多重赋值
    a, b := 10, 20
    //交换2个变量的值
    var tmp int
    tmp = a
    a = b
    b = tmp
    fmt.Printf("a=%d, b=%d\n", a, b)
    //更简单的交换方式
    a, b = b, a
    fmt.Printf("a=%d, b=%d\n", a, b)

    a = 10
    b = 20
    //匿名变量,丢弃数据不处理,_匿名函数需要配合函数返回值使用,才有优势
    tmp, _ = a, b
    fmt.Printf("tmp=%d\n", tmp)

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

    _, d, _ = test() //返回1, 2, 3
    fmt.Printf("d=%d\n", d)

 

以上是关于5多重赋值和匿名变量的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ruby​​ 的多重赋值为 void 变量赋值?

对象变量和常量

有没有办法用块范围进行多重赋值和初始化?

01.变量常量和数据类型

原子布尔变量的一条语句中的多重赋值

Numpy 数组和列表的多重赋值,一个奇怪的例子