Go 템플릿의 중첩된 'with' 또는 'range' 문의 외부 범위에서 변수에 어떻게 액세스할 수 있나요?

DDD
풀어 주다: 2024-11-24 10:57:10
원래의
805명이 탐색했습니다.

How can I access variables from the outer scope in nested

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

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