«   2019/11   »
          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 29 30
Tags
more
Archives
Today
184
Total
1,665,610
관리 메뉴

올해는 머신러닝이다.

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

스터디/Golang

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

리엑티브한 행복한 수지아빠 2018.06.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...)
}

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

0 Comments
댓글쓰기 폼