> 백엔드 개발 > Golang > Go 함수의 매개변수 이름을 어떻게 얻을 수 있나요?

Go 함수의 매개변수 이름을 어떻게 얻을 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-21 13:07:23
원래의
864명이 탐색했습니다.

How Can I Get the Name of a Go Function's Parameter?

Go에서 매개변수 이름 검색

다음 Go 메소드를 고려하십시오.

func (t *T) TMethod(data *testData) (interface{}, *error) {
    ...
}
로그인 후 복사

매개변수 이름(예: 데이터), 다음 코드를 사용하려고 하면 구조가 검색됩니다. name:

reflect.ValueOf(T).MethodByName("TMethod").Type.In(0).Elem().Name()
로그인 후 복사

안타깝게도 Go에서는 함수 이름이나 메서드 매개변수를 얻는 것이 불가능합니다. 이는 주로 그러한 함수를 호출할 때 매개변수 이름이 중요하지 않기 때문입니다. 대신 유형과 순서에 중점을 둡니다. 게다가 아래와 같이 매개변수에 이름을 지정하지 않고 함수나 메서드를 정의하는 것이 허용됩니다.

func NamelessParams(int, string) {}
로그인 후 복사

이 측면에 대한 자세한 내용은 이름 없는 인수가 중요한가요?에 대한 토론을 참조하세요. Go?

또는 지정된 이름을 가진 매개변수에 값을 전달할 수 있는 프레임워크를 구축하려는 경우(예: API 매개변수를 Go 함수/메서드에 매핑) 매개변수), 구조체나 맵 사용을 고려해 보세요. 이는 구조체와 맵이 각각 Value.FieldByName() 및 Type.FieldByName()과 같은 메서드를 통해 명명된 필드와 키의 검색을 허용하기 때문입니다.

위 내용은 Go 함수의 매개변수 이름을 어떻게 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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