1. 程式人生 > >go語言基礎之匿名變數和多重賦

go語言基礎之匿名變數和多重賦

1、匿名變數

package main //必須有一個main包

import "fmt"

func test() (a, b, c int) {
	return 1, 2, 3
}

func main() {
	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()
	fmt.Printf("d = %d\n", d)
}

#執行結果:

c = 1, d = 2, e = 3

#只取d的值 d = 2

2、多重賦值

示例1:

package main //必須有一個main包

import "fmt"

func main() {
	a, b := 10, 20
	var tmp int
	a = b
	b = tmp
	fmt.Printf("a = %d, b = %d\n", a, b)
}

#執行結果:

a = 20, b = 0

示例2:

package main //必須有一個main包

import "fmt"

func main() {
	i, j := 10, 20
	i, j = j, i
	fmt.Printf("i = %d, j = %d\n", i, j)
}

#執行結果: 

i = 20, j = 10