Go의 선택적 매개변수
Jay Singh
2023년1월30일
variadic
함수는 호출될 때 다양한 수의 인수를 갖습니다. 0개 이상의 인수와 함께 사용할 수 있습니다.
생략 부호 ...
는 매개변수 앞에 변수 함수를 정의할 수 있습니다.
variadic
함수를 사용하여 Go에서 선택적 매개변수 전달
이 함수는 입력으로 ints
수를 허용합니다. 슬라이스에 이미 많은 args
가 있는 경우 func(slice...)
를 사용하여 variadic
함수에 적용합니다.
package main
import "fmt"
func sum(nums ...int) {
fmt.Print(nums, " ")
total := 0
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
sum(1, 2)
sum(1, 2, 3)
nums := []int{1, 2, 3, 4}
sum(nums...)
}
출력:
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
variadic
함수를 사용하여 Go에서 여러 문자열 전달
s
매개변수에 제공되는 매개변수의 수에는 제한이 없습니다. 트리 점으로 구분된 줄임표는 이 문자열이 0에서 많은 값을 가질 수 있음을 컴파일러에 알립니다.
package main
import "fmt"
func main() {
variadic()
variadic("white", "black")
variadic("white", "black", "blue")
variadic("white", "black", "blue", "purple")
}
func variadic(s ...string) {
fmt.Println(s)
}
출력:
[]
[white black]
[white black blue]
[white black blue purple]
사람들의 이름이 함수에 제공될 때 사람들에게 인사하는 프로그램을 만들어 보겠습니다.
package main
import "fmt"
func main() {
sayHello()
sayHello("Jay")
sayHello("Jessica", "Mark", "Jonas")
}
func sayHello(names ...string) {
for _, n := range names {
fmt.Printf("Hello %s\n", n)
}
}
출력:
Hello Jay
Hello Jessica
Hello Mark
Hello Jonas