Go 語言中的變參
在開發過程中,很有可能會遇到不確定傳入參數數量的問題。比如答題系統開發時,可能會遇到多選題,這里面就無法確定傳入參數的數量。此時就需要一個變參傳遞的方案,在 Go 語言中,使用...來接收或者傳遞變。
1. 使用…來接收變參
在函數的參數類型前加上...就可以用于接收不定長度的該類型的變參,如果連類型也無法確定,則使用...interface{}。變參類型的參數在使用時是一個變參類型的切片。
代碼示例:
代碼塊
- 1?
package main - 2
- 3?
import "fmt" - 4
- 5?
func main() { - 6? ? ? ? ?
variableParameter(1, 2, 3, 4, 5) - 7?
} - 8
- 9?
func variableParameter(i ...int) { - 10? ? ? ?
fmt.Println("輸出變參:", i) - 11?
}
- 第 9 行:定義變參函數,其變參類型為 int。
- 第 6 行:傳入 5 個參數。
執行結果:

2. 使用…來傳遞變參
當你傳遞的參數是一個切片時,此時你無法確定其長度,你就可以用...來傳遞其全部的值到變參函數中。
代碼示例:
代碼塊
- 1?
package main - 2
- 3?
import "fmt" - 4
- 5?
func main() { - 6? ? ? ? ?
i := []int{1, 2, 3, 4, 5} - 7? ? ? ? ?
variableParameter(i...)//傳遞i中的所有值 - 8?
} - 9
- 10?
func variableParameter(i ...int) { - 11? ? ? ?
fmt.Println("輸出變參:", i) - 12?
}
執行結果:

3. 小結
本文主要講解了 Go 語言中如何使用變參。變參在函數中的使用是可以作為一個切片來使用的,而當一個切片想要傳值給變參時,只需要在切片后加上...。
文章來源于網絡,侵刪!
