>  기사  >  백엔드 개발  >  golang은 템플릿 메소드를 생성합니다.

golang은 템플릿 메소드를 생성합니다.

王林
王林원래의
2023-05-13 10:44:07845검색

Golang은 간단한 구문, 높은 실행 효율성 및 강력한 가독성을 갖춘 매우 인기 있는 프로그래밍 언어입니다. Golang에서 템플릿 생성은 일반적인 개발 요구 사항이며 개발 효율성을 높이기 위해 다양한 코드나 문서 템플릿을 생성하는 데 사용할 수 있습니다. 이 기사에서는 Golang을 사용하여 템플릿 메소드를 생성하는 방법을 소개합니다.

1. 템플릿 언어

Golang의 템플릿 언어는 태그와 같은 방법을 사용하여 템플릿에서 교체해야 할 부분을 식별합니다. 태그에는 일반적으로 "{{" 및 "}}"라는 두 가지 유형이 포함됩니다. 이 두 태그 사이에 교체해야 할 일부 값이나 표현식을 삽입할 수 있습니다. 예를 들어, {{.}}는 전체 데이터 구조 자체를 나타내고, {{.FieldName}}은 구조의 필드 값을 나타내고, {{range .List}}{{.}}{{end}}는 순회를 나타냅니다. 그룹 데이터.

동시에 템플릿 구문에서는 조건부 판단문, 루프문, 함수 호출 등과 같은 작업도 지원합니다. 구체적인 구문은 다음과 같습니다.

1. 조건부 판단문

{{if .Condition}}

<!-- Code block if the condition is true -->

{{else}}

<!-- Code block if the condition is false -->

{{end}}

예:

{{if eq .Color "Red"}}

This is a red car

{{else}}

This is not a red car

{{end}}

2. 루프 문

{{range .List}}

<!-- Code block for each element in the list -->

{{end}}

예를 들어 :

{{ range .List}}

This is a {{.Color}} {{.Brand}} car

{{end}}

3. 함수 호출

{{FuncName .Parameter}}

예:

{{dateformat .CreateTime "yyyy-MM- dd HH:mm:ss "}}

2. 템플릿 파일

Golang에서는 템플릿 파일을 정의하여 템플릿 생성 목적을 달성할 수 있습니다. 일반적으로 템플릿 파일을 다양한 기능에 따라 나누거나 다양한 파일을 생성할 수 있습니다. 모든 템플릿을 동일한 파일에 넣을 수도 있습니다. 템플릿 파일에서는 위의 템플릿 언어를 사용하여 템플릿을 작성할 수 있습니다.

예를 들어 HTML 파일을 생성해야 하는 경우 다음과 같이 템플릿 파일을 작성할 수 있습니다.

8b05045a5be5764f313ed5b9168a17e6
100db36a723c770d327fc0aef2ce13b1
93f0f5c25f18dab9d176bd4f6de5d30e

<meta charset="UTF-8">
<title>{{.Title}}</title>

9c3bca370b5104690d9ef395f2c5f8d1
< ;body>

<h1>{{.Heading}}</h1>
{{range .Articles}}
    <h2>{{.Title}}</h2>
    <p>{{.Content}}</p>
{{end}}

36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

3. 템플릿 생성

Golang에서는 "text/template" 패키지 또는 "html/template" 패키지를 사용하여 템플릿을 생성할 수 있습니다. 둘 사이의 주요 차이점은 "html/template"이 XSS 공격을 피하기 위해 생성된 문자열을 이스케이프한다는 것입니다.

"text/template" 패키지 또는 "html/template" 패키지를 사용하기 전에 데이터 모델을 준비해야 합니다. 여기서는 이를 표현할 구조를 사용할 수 있습니다. 예를 들어 기사를 표현하는 데 사용되는 구조는 다음과 같습니다.

type Article struct {

Title   string
Content string

}

또한 다음과 같이 페이지의 데이터 모델을 표현하는 구조를 정의해야 합니다.

type PageData struct {

Title    string
Heading  string
Articles []Article

}

그런 다음 "ParseFiles" 함수를 사용하여 템플릿 파일을 구문 분석하고 처리된 템플릿 개체를 반환할 수 있습니다.

t, err := template.ParseFiles("template.html")

다음으로 우리는 데이터 모델은 처리된 템플릿 개체에 전달되어 최종 문자열을 생성합니다.

err = t.Execute(os.Stdout, data)

여기서 첫 번째 매개변수는 출력 위치이며 os.Stdout, bytes일 수 있습니다. .Buffer 등 두 번째 매개변수는 데이터 모델입니다.

파일을 생성하려면 "os.Create"를 사용하여 파일을 만든 다음 "t.Execute" 함수에 전달할 수 있습니다.

f, err := os.Create("output.html ")
defer f.Close()
err = t.Execute(f, data)

이로써 기본 Golang 템플릿 생성 방법이 완성되었습니다.

결론

Golang의 템플릿 생성 기능은 매우 강력하며 다양한 코드나 문서 템플릿을 생성하는 데 사용할 수 있습니다. 실제로는 사용자 정의 기능, 템플릿 상속, 동적 템플릿 생성 등과 같이 템플릿 생성 프로세스에 적용할 수 있는 다른 많은 고급 기능과 기술이 있습니다. 이 글이 초보자들에게 기본적인 시작 방향을 제공할 수 있기를 바랍니다.

위 내용은 golang은 템플릿 메소드를 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.