Go에서 사용되지 않는 함수 매개변수
지역 변수와 달리 Go에서는 사용되지 않는 함수 매개변수가 포함되어 있어도 컴파일러가 프로그램을 빌드할 수 있습니다. 이 동작은 사용되지 않은 변수로 인해 컴파일 오류가 발생하는 C와 같은 언어와 다릅니다.
이에 대한 이유는 논쟁의 여지가 있습니다. 그러나 golang-nuts에 대한 토론에서 설명했듯이 이는 다음과 같은 믿음에서 비롯됩니다.
사용되지 않는 매개변수는 필수 문서를 제공하여 함수 내에서 명시적으로 사용되지 않더라도 이해를 돕습니다. 예:
func foo(param_a int, param_b int) int { return param_a }
param_b가 사용되지 않더라도 그 존재는 함수의 의도를 전달합니다. 이는 다음과 같은 경우에 특히 유용합니다.
func Distance(node1, node2 Node) int { return 1 }
여기서 거리는 모든 가장자리에 걸쳐 균일한 비용을 갖는 가중치 그래프에서 작동합니다. 노드는 활용되지 않지만 함수의 목적을 명확하게 하고 문서화하는 데 필수적입니다.
어떤 사람들은 밑줄(_)로 명명된 사용되지 않는 매개변수만 허용해야 한다고 주장하지만, 이러한 변경은 Go의 변경 사항과 충돌할 수 있습니다. 미래 호환성 보장. 또한, 함수 내에서 활용되지 않음에도 불구하고 사용되지 않는 매개변수는 귀중한 문서를 제공할 수 있다는 주장이 있습니다.
궁극적으로, 사용되지 않는 함수 매개변수를 허용하는 결정은 유용성과 유용성 사이의 인식된 균형을 기반으로 하는 실용적인 결정입니다. 프로그래밍 오류. 구체적인 근거는 명시적으로 문서화되지 않을 수 있지만 Go의 소프트웨어 개발의 실제 현실에 기초를 두고 있습니다.
위 내용은 왜 Go에서는 사용되지 않는 함수 매개변수를 허용하지만 다른 언어에서는 허용하지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!