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 語言中如何使用變參。變參在函數中的使用是可以作為一個切片來使用的,而當一個切片想要傳值給變參時,只需要在切片后加上...
。
文章來源于網絡,侵刪!