Go에서 이름 없는 인수가 중요한가요?
Go에서 함수 정의에 이름 없는 인수를 사용하면 처음에는 의문이 생길 수 있습니다. 특히 다음과 같은 경우에는 더욱 그렇습니다. 이름이 지정되지 않은 유형에 대한 포인터를 인수로 포함하는 코드가 발생했습니다. 이는 함수 인수에 이름이 부족하여 함수 내에서 참조하는 것이 명백히 불가능하기 때문입니다.
이름 없는 인수의 목적
Go에서 이름 없는 매개변수는 흔합니다. . Parameter 선언 사양에 따르면 IdentifierList(식별자 이름)는 선택 사항입니다. 즉, 함수 또는 메서드 매개 변수에 필수가 아닙니다. 유형은 유일한 필수 요소입니다.
이름 없는 매개변수의 필요성은 매개변수의 ID가 함수의 동작과 관련이 없을 때 발생합니다. 중요한 것은 매개변수의 이름이 아니라 순서와 유형입니다.
이름이 없는 인수를 사용하는 이유
이름이 없는 인수를 사용하는 데는 여러 가지 이유가 있습니다. :
예:
다음을 고려하세요. Write 메서드를 정의하는 MyWriter라는 인터페이스:
type MyWriter interface { Write(p []byte) error }
데이터를 삭제하는 이 인터페이스의 간단한 구현을 제공하려면 DiscardWriter를 생성할 수 있습니다.
type DiscardWriter struct{} func (DiscardWriter) Write([]byte) error { return nil }
이 예에서는 수신자와 인수 모두 사용되지 않기 때문에 이름이 없습니다.
기타 고려 사항:
이름이 지정되지 않은 매개변수. 매개변수 이름을 지정하려면 모든 매개변수의 이름을 지정해야 합니다. 다음과 같은 상황에서는 빈 식별자를 활용할 수 있습니다.
// Responds with "Hello" to all HTTP requests http.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) { io.WriteString(w, "Hello") })
추가 리소스:
위 내용은 Go는 이름이 없는 함수 인수를 지원하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!