Go 語(yǔ)言中的變參
在開(kāi)發(fā)過(guò)程中,很有可能會(huì)遇到不確定傳入?yún)?shù)數(shù)量的問(wèn)題。比如答題系統(tǒng)開(kāi)發(fā)時(shí),可能會(huì)遇到多選題,這里面就無(wú)法確定傳入?yún)?shù)的數(shù)量。此時(shí)就需要一個(gè)變參傳遞的方案,在 Go 語(yǔ)言中,使用...
來(lái)接收或者傳遞變。
1. 使用…來(lái)接收變參
在函數(shù)的參數(shù)類(lèi)型前加上...
就可以用于接收不定長(zhǎng)度的該類(lèi)型的變參,如果連類(lèi)型也無(wú)法確定,則使用...interface{}
。變參類(lèi)型的參數(shù)在使用時(shí)是一個(gè)變參類(lèi)型的切片。
代碼示例:
package main
import "fmt"
func main() {
variableParameter(1, 2, 3, 4, 5)
}
func variableParameter(i ...int) {
fmt.Println("輸出變參:", i)
}
- 第 9 行:定義變參函數(shù),其變參類(lèi)型為 int。
- 第 6 行:傳入 5 個(gè)參數(shù)。
執(zhí)行結(jié)果:
2. 使用…來(lái)傳遞變參
當(dāng)你傳遞的參數(shù)是一個(gè)切片時(shí),此時(shí)你無(wú)法確定其長(zhǎng)度,你就可以用...
來(lái)傳遞其全部的值到變參函數(shù)中。
代碼示例:
package main
import "fmt"
func main() {
i := []int{1, 2, 3, 4, 5}
variableParameter(i...)//傳遞i中的所有值
}
func variableParameter(i ...int) {
fmt.Println("輸出變參:", i)
}
執(zhí)行結(jié)果:
3. 小結(jié)
本文主要講解了 Go 語(yǔ)言中如何使用變參。變參在函數(shù)中的使用是可以作為一個(gè)切片來(lái)使用的,而當(dāng)一個(gè)切片想要傳值給變參時(shí),只需要在切片后加上...
。