[go] Go 언어에서 가변 인자 함수

Go 언어에서는 가변 인자 함수를 사용하여 함수의 매개변수의 개수가 정해져 있지 않은 경우 유연하게 처리할 수 있습니다. 가변 인자 함수를 사용하면 동일한 타입의 매개변수를 여러 개 전달할 수 있습니다.

가변 인자 함수의 선언

Go 언어에서 가변 인자 함수를 작성할 때는 매개변수의 타입 뒤에 ...을 붙여야 합니다. 아래는 가변 인자를 받는 함수의 예시입니다.

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

위의 예시에서 sum 함수는 int 타입의 가변 인자 nums를 받습니다. nums는 슬라이스 형태로 전달되며, 반복문을 통해 모든 요소를 합산한 후 총합을 반환합니다.

가변 인자 함수 호출

가변 인자 함수를 호출할 때는 일반 함수 호출과 동일하게 사용할 수 있습니다. 아래는 sum 함수를 호출하는 예시입니다.

total := sum(1, 2, 3, 4, 5)
fmt.Println(total) // Output: 15

위의 예시에서는 sum 함수에 1부터 5까지의 숫자를 전달하여 총합을 구한 후 결과를 출력합니다.

슬라이스를 가변 인자로 전달

슬라이스를 가변 인자로 전달하려면 슬라이스 이름 뒤에 ...을 붙여야 합니다. 아래는 슬라이스를 가변 인자로 전달하는 예시입니다.

nums := []int{1, 2, 3, 4, 5}
total := sum(nums...)
fmt.Println(total) // Output: 15

위의 예시에서는 nums 슬라이스를 ...을 붙여 가변 인자로 전달하고, sum 함수를 호출하여 총합을 구한 후 결과를 출력합니다.

결론

Go 언어에서 가변 인자 함수를 사용하면 매개변수의 개수가 정해져 있지 않은 경우 유연하게 처리할 수 있습니다. 가변 인자 함수를 사용하여 필요한 매개변수를 유연하게 전달하고, 요소를 처리하는 방법을 자유롭게 구현할 수 있습니다.

참고 자료