Go의 html/template의 여러 위치에서 전역 변수 생성 및 수정
Go의 html/template 패키지에서 변수 정의 범위는 이를 특정 지역으로 효과적으로 격리합니다. 제공된 예에서 $currentUserId 변수는 템플릿 전체에서 유지되는 값을 저장하기 위한 것이지만 해당 범위는 if 조건으로 제한됩니다.
템플릿 변수 수정
Go 1.11에는 템플릿 변수를 수정하는 기능이 도입되었습니다. :=를 사용하면 변수를 정의하고 =를 사용하면 새 값을 할당합니다. 변수가 if 조건 외부에서 정의되고 해당 값이 내부에서 수정되면 전역적으로 액세스할 수 있습니다.
{{$currentUserId := 0}} {{if .UserData}} {{$currentUserId = .UserData.UserId}} [<a href="#ask_question">Inside {{$currentUserId}}</a>] {{else}} [No User Data] {{end}} [<a href="#ask_question">outside {{$currentUserId}}</a>]
이렇게 하면 {{if}} 블록 내에서 변경된 사항이 블록이 끝난 후에 반영됩니다. .
대체 접근 방식
결론
Go의 템플릿 패키지는 단순성이 뛰어나지만 복잡한 로직에는 한계가 있습니다. 그러나 할당 및 사용자 정의 기능을 사용하면 템플릿의 여러 위치에서 값을 효과적으로 조작할 수 있습니다.
위 내용은 Go의 html/template 패키지 내에서 전역 변수를 어떻게 만들고 수정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!