> 백엔드 개발 > Golang > 왜 Go에서는 사용되지 않는 함수 매개변수를 허용하지만 다른 언어에서는 허용하지 않습니까?

왜 Go에서는 사용되지 않는 함수 매개변수를 허용하지만 다른 언어에서는 허용하지 않습니까?

Mary-Kate Olsen
풀어 주다: 2024-12-18 06:39:10
원래의
727명이 탐색했습니다.

Why Does Go Allow Unused Function Parameters While Other Languages Don't?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿