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

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

Barbara Streisand
Barbara Streisand원래의
2024-12-21 13:07:23953검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.