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