«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

올해는 머신러닝이다.

Variadic functions 에 대해서 알아보자(...) 본문

스터디/Golang

Variadic functions 에 대해서 알아보자(...)

행복한 수지아빠 2018. 6. 20. 18:08

가변 인자를 보통 넣어서 사용시 ( ... )로 사용되는데 이를 Variadic 이라고 한다. 

예를 보자. 

func sum(numbers ...int){
    sum := 0
    for _, num := range numbers {
        sum += num
    }
    return sum
}
sum(1,2,3) //6
sum([]int{1,2,3}...) //6
sum(1) //1

Sum 함수는 int 인자값에 대한 가변적으로 가능하다. 

sum([]int{1,2,3}...) //6

의 경우 뒤에 ... 을 붙여서 할수 있는데 더 예를 보자면

func f(ids []int){
//
}
func service(id int){
    f([]int{id})
}
func service2(id []int){
    f(id)
}

위를 Variadic 을 적용해보면

func f(ids ...int){
//
}
func service(id int){
    f(id)
}
func service2(id []int){
    f(id...)
}

이렇게 타입도 가변적으로 바꿔서 넣을 수 있다.