...인터페이스의 의미 이해{}(가변 인터페이스)
아래 Go 코드 스니펫:
func DPrintf(format string, a ...interface{}) (n int, err error) { if Debug > 0 { n, err = fmt.Printf(format, a...) } return }
a ...interface{} 매개변수 정의는 다음과 같은 질문을 제기합니다. 이 함수에서 a는 무엇입니까? 여기에서 세 개의 점은 a가 가변 매개변수임을 나타내며, 이를 통해 이 매개변수에 원하는 수의 인수를 전달할 수 있습니다.
매개변수 a는 본질적으로 []인터페이스{} 유형의 조각입니다. DPrintf를 호출하면 슬라이스에 저장될 여러 인수를 전달할 수 있습니다. 예:
DPrintf("Value: %v", 10)
이 호출에서 DPrintf는 슬라이스에 저장된 단일 인수(10)를 받습니다.
...interface{} 유형은 요소가 슬라이스의 유형은 무엇이든 될 수 있습니다. 이는 인터페이스{}가 Go에서 가장 일반적인 인터페이스 유형이므로 어떤 구체적인 유형이라도 이를 구현할 수 있기 때문입니다.
Variadic 매개변수 사용의 이점:
Variadic 매개변수는 여러 가지 이점:
사용 예:
여기 variadic을 사용하는 방법에 대한 또 다른 예가 있습니다. 매개변수:
func Min(nums ...int) int { if len(nums) == 0 { return 0 } min := nums[0] for _, num := range nums { if num < min { min = num } } return min }
이 함수에서 nums ...int 매개변수를 사용하면 원하는 수의 정수를 전달할 수 있습니다. 그런 다음 함수는 이러한 정수 중에서 최소값을 찾습니다.
위 내용은 Go의 `...interface{}`(가변 인터페이스) 매개변수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!