golang에서 템플릿 패키지를 사용하는 방법에 대해 이야기해 보겠습니다.

PHPz
풀어 주다: 2023-04-04 16:46:10
원래의
746명이 탐색했습니다.

Go는 간단한 구문과 강력한 동시성 기능을 갖춘 신속한 개발 프로그래밍 언어로 웹 개발에 이상적입니다. 웹 개발에서 템플릿은 HTML 페이지의 동적인 생성을 가능하게 하고 사용자에게 대화형 웹 인터페이스를 제공하기 때문에 필수적인 부분입니다. Go는 HTML 페이지를 동적으로 생성하기 위한 템플릿이라는 패키지를 제공합니다. 이번 글에서는 golang 템플릿의 사용법을 소개하겠습니다.

Template

golang 템플릿의 템플릿은 렌더링 시 실제 값으로 대체되는 마커 또는 자리 표시자가 포함된 문자열 또는 바이트 배열입니다. 또한 템플릿에는 제어 구조와 함수 호출이 포함될 수 있습니다.

템플릿 엔진

Golang 템플릿은 템플릿을 분석하고 분석 결과에 따라 HTML 페이지를 생성할 수 있는 분석 기반 템플릿 엔진을 사용합니다. 파서는 템플릿을 조각으로 나누고 이를 노드 트리로 나타냅니다. 각 노드는 텍스트, 제어 구조, 변수, 쌍을 이루는 태그 등과 같은 템플릿의 일부를 나타냅니다. 노드 간의 관계는 상위 노드에서 하위 노드로의 트리 구조 관계입니다.

태그 및 자리 표시자

템플릿의 태그 및 자리 표시자는 {{}}를 사용하여 포함됩니다. 예를 들어, "{{ . }}"는 현재 컨텍스트 변수를 사용한다는 의미입니다. 템플릿은 여러 변수를 정의하고 특수 컨텍스트 개체를 통해 해당 변수에 액세스할 수 있습니다. 컨텍스트 객체는 연관된 golang 템플릿에 저장됩니다.

제어 구조

golang 템플릿에서는 다음 제어 구조가 지원됩니다:

  • {{if}} 조건문을 제어하는 ​​데 사용되는 제어 구조
  • {{for}} 루프 및 반복에 사용되는 제어 구조
  • { {range }} 컬렉션 반복을 위한 제어 구조

다음은 {{if}} 및 {{range}} 제어 구조를 사용하는 방법을 보여주는 예입니다.

{{if .HasValidUsers }}
    <h1>Welcome Valid User</h1>
{{end}}
{{range .Users}}
    <li>{{ .Name }}</li>
{{end}}
로그인 후 복사

이 예에서는 {{if}}를 사용하여 다음을 수행합니다. 유효한 사용자가 있는지 확인하고 {{range}}를 사용하여 사용자 목록을 반복합니다.

함수 호출

golang 템플릿에서는 문자열 형식 지정 함수, 산술 및 논리 연산자와 같은 다른 함수도 호출할 수 있습니다. 예를 들어, 다음 예제에서는 템플릿을 사용하여 printf 함수를 호출하는 방법을 보여줍니다.

{{ printf "%s is %d years old" .Name .Age }}
로그인 후 복사

이 예에서는 printf 함수를 호출하여 텍스트 문자열과 .Name 및 .Age 개체의 값을 printf 함수에 전달했습니다.

유형 및 메소드

Golang 템플릿은 Reflect 패키지를 통해 유형과 메소드를 지원합니다. Reflect 패키지는 런타임 리플렉션 및 유형 정보를 위한 Go 언어 표준 라이브러리입니다. 템플릿의 Reflect 패키지를 사용하여 값의 유형과 메서드를 쿼리하고 쿼리 결과에 따라 작업을 수행할 수 있습니다. 다음은 개체 유형을 HTML 주석으로 출력하는 템플릿의 예입니다.

<!-- {{ printf "# Type: %s" . | typeOf | name }} -->
로그인 후 복사

이 예에서는 유형과 메서드를 사용하여 개체 유형을 쿼리하고 해당 이름을 출력합니다.

공백 처리

Golang 템플릿은 공백 문자(공백, 탭, 줄 바꿈 포함)를 사용하여 생성된 HTML 페이지를 만듭니다. 그러나 생성된 HTML 페이지에서 공백 문자는 레이아웃과 표시에 영향을 미칠 수 있습니다. 공백 문자의 표시를 제어하기 위해 트림 기능을 사용하여 공백 문자를 제거할 수 있습니다. 예를 들어 다음 예에서는 제목 주위의 공백을 제거하기 위해 Trim 함수를 사용합니다.

{{- $title := " Hello World " -}}
<h1>{{- trim $title -}}</h1>
로그인 후 복사

이 예에서는 {{-}} 표기법을 사용하여 변수와 함수 사이의 공백을 제거하고 Trim 함수를 사용합니다. 공백 제목 주위의 공백을 제거합니다.

요약

골랭 템플릿 사용법을 소개하는 글입니다. golang 템플릿은 제어 구조, 유형 및 메서드 쿼리, 기타 풍부한 기능을 지원하는 가벼우면서도 강력한 도구입니다. 이를 사용하여 HTML 페이지를 동적으로 생성하고 웹 애플리케이션을 위한 완전하고 유연한 인터페이스를 제공할 수 있습니다. 이 글이 초보자에게 도움이 되길 바랍니다!

위 내용은 golang에서 템플릿 패키지를 사용하는 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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