Go 템플릿의 중첩된 "with" 또는 "range" 범위에서 외부 범위에 액세스
Go 템플릿에서 "with" 사용 또는 "범위" 문은 새 범위를 생성하여 현재 범위의 컨텍스트를 변경합니다. 이로 인해 외부 범위에 정의된 변수에 액세스해야 하는 상황이 발생할 수 있습니다.
$를 사용합니다. OuterValue
중첩된 "with" 또는 "range" 범위 내에서 호출 범위에 대한 액세스를 유지하려면 "$"라는 특별히 정의된 변수가 사용됩니다. 이 변수는 Go 템플릿 엔진에서 제공되며 초기 점(.) 값을 나타내는 Execute 함수에 전달된 데이터 값으로 다시 연결됩니다.
사용 예
다음 템플릿 코드를 고려하세요.
{{with .Inner}} Outer: {{$.OuterValue}} Inner: {{.InnerValue}} {{end}}
이 예에서 "with" 문은 "내부" 변수. 그러나 이 범위 내에서는 "$.OuterValue"를 사용하여 외부 범위에 정의된 "OuterValue"에 액세스할 수 있습니다.
$
Go 템플릿 문서 문서에서는 "$"의 역할을 다음과 같이 명시적으로 설명합니다.
"실행이 시작되면 $는 Execute에 전달된 데이터 인수로 설정됩니다. 즉, 도트의 시작 값입니다."
이 설명은 "$"가 템플릿에 전달된 원래 데이터에 대한 참조를 유지하여 원래 범위의 변수에 액세스할 수 있음을 확인합니다.
위 내용은 Go 템플릿의 중첩된 'with' 또는 'range' 문의 외부 범위에서 변수에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!