Reflection을 사용하여 동적으로 변수 이름에 액세스하는 방법
질문:
사용자 정의 템플릿에서 시스템에서 슬라이스에 저장된 변수의 이름을 어떻게 동적으로 검색할 수 있습니까? 특히 템플릿(예: {{onevar}})의 자리 표시자를 해당 변수 값으로 바꾸는 것을 목표로 합니다.
답변:
변수 이름에 그대로 액세스 슬라이스에 저장된 값으로 작업할 때는 소스 코드에 나타날 수 없습니다. 이는 슬라이스에 원래 변수나 해당 이름에 대한 참조가 아닌 값 자체가 포함되어 있기 때문입니다.
예시 시도:
이를 달성하기 위해 리플렉션을 사용한다고 언급하셨습니다. , 그런데 오해가 있는 것 같습니다. Go의 Reflection은 런타임 시 유형과 값에 대한 정보를 제공하지만 해당 값에서 변수 이름을 검색하는 기능은 없습니다.
해결책:
원하는 기능을 얻으려면 , 슬라이스 대신 맵을 사용하는 것이 좋습니다. 맵은 키를 값과 연결하며, 여기서 키는 값의 식별자로 사용될 수 있습니다. 변수 이름을 키로 저장하고 해당 맵에 값을 저장하면 자리 표시자를 실제 변수 값으로 쉽게 바꿀 수 있습니다.
위 내용은 Go 템플릿 시스템에서 변수 이름에 어떻게 동적으로 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!