`
DarkWingBoy
  • 浏览: 50701 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

golang template 例子

 
阅读更多

golang的template包很好用,做一些复杂的文本格式生成太有帮助了,生成网页也是很不错的,使用起来非常方便.

package main
   
import (
    "fmt"
    "os"
    "text/template"
)
   
type Latlng struct {
    Lat float32
    Lng float32
}
   
func (latlng Latlng) String() string {
    return fmt.Sprintf("%g/%g", latlng.Lat, latlng.Lng)
}
   
func main() {
    data := []template.FuncMap{}
    data = append(data, template.FuncMap{"name":"dotcoo1", "url":"http://www.dotcoo.com/", "latlng":Latlng{24.1, 135.1}})
    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.dotcoo.com/", "latlng":Latlng{24.2, 135.2}})
    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.dotcoo.com/", "latlng":Latlng{24.3, 135.3}})
   
    datatpl := `{{range .}}{{template "user" .}}{{end}}`
    usertpl := `{{define "user"}}name:{{.name}}, url:{{.url}}, latlng:{{.latlng}} lat:{{.latlng.Lat}} lng:{{.latlng.Lng}}
{{end}}`
   
    tpl, err := template.New("data").Parse(datatpl)
    if err != nil {
        panic(err)
    }
    _, err = tpl.Parse(usertpl)
    if err != nil {
        panic(err)
    }
   
    err = tpl.Execute(os.Stdout, data)
    if err != nil {
        panic(err)
    }
   
    println()
}


http://www.dotcoo.com/golang-template-dome
分享到:
评论

相关推荐

    Go-Golang模板语言和FuncMap功能的简单演示

    这个"Go-Golang模板语言和FuncMap功能的简单演示"可能是为了介绍如何使用Go的内置`text/template`和`html/template`包来处理模板,并结合FuncMap自定义函数,以增强模板的灵活性和功能性。 `text/template`和`...

    golang开发web应用示例(v0.03)

    3. **模板引擎**:为了动态生成HTML,开发者通常会使用模板引擎,如`html/template`包,它可以安全地将数据注入到HTML模板中。 4. **并发**:Go语言的goroutines和channels特性使得并发编程变得简单,这对于处理...

    详解golang 模板(template)的常用基本语法

    这个例子展示了如何定义一个模板,包含一个`range`循环遍历`articles`切片,并使用`add`函数。运行这段代码会生成一个包含文章列表的HTML片段。 总的来说,Go语言的模板系统提供了强大的功能,使得后端开发者能够...

    gotemplate:用于生成类型和函数的模板实例化的 golang 预处理器

    模板用于生成类型和函数的模板实例的 golang 预处理器安装 go get -u github.com/redefiance/gotemplate例子在您的项目目录中创建一个 .go 文件,例如CircularBuffer.go : // +gotemplatepackage maintype Circular...

    golang开发web应用示例

    在这个例子中,我们有一个名为"index.html"的模板文件,可以使用`template.ParseFiles()`解析,并用`Execute()`方法将数据传递给模板并写入HTTP响应。 至于压缩包内的"hw"文件,它可能是一个源代码文件或项目结构的...

    gtmpl-rust:锈的golang texttemplate

    gtmpl-rust – Golang模板用于Rust 为Rust提供了引擎。 这使锈应用的无缝集成到周围DEVOPS工具世界 ,和诸如此类的东西。 入门 将以下依赖项添加到您的货运清单中... [ dependencies ] gtmpl = " 0.6 " 并查看...

    html+golang-gin.zip

    在本项目中,我们主要探讨如何使用HTML与Golang的Gin框架进行交互,特别是通过XMLHttpRequest(XHR)实现异步通信。Gin是一个用Go语言编写的高性能Web框架,它提供了快速开发Web应用的能力,而HTML是网页设计的基础...

    golang_web:golang_web 演示(登录)

    golang_webgolang简单web服务器(登录小例子),效果预览:![golang_web]()##目录结构bin--gobuild生成的执行程序目录/template --静态文件(和执行程序同级)src--源代码/golang_web --包template--静态文件(编译之后,将...

    Golang 服务的清洁架构模板.zip

    Go Clean 模板中文Golang 服务的清洁架构模板 概述该模板的目的是为了展示如何组织项目并防止其变成意大利面条式代码在哪里存储业务逻辑以保持其独立、清晰和可扩展当微服务增长时如何保持控制使用罗伯特·马丁(又...

    CLI基于命令行参数和/或YAML呈现Go模板文本文件-Golang开发

    renderizer从命令行渲染Go文本模板。 ... ...renderizer --user = $ {USER}并从环境中读取:echo'Hello,{{.env...示例使用examples / pod / .renderizer.yaml中的值渲染pod.yaml.tmpl:renderizer --settings =例子/pod/.pod

    vuejs学习之路 vue上传文件控件往golang服务器上传文件

    在这个例子中,我们监听`@change`事件来获取选中的文件,并在用户点击上传按钮时,通过`FormData`对象将文件添加到表单数据中,然后使用axios库发送POST请求到服务器。 现在转向Golang部分,Golang是一个强大的...

    golang-boilerplate:高朗样板

    在这个例子中,`main.go`是项目的启动点,`go run`命令将自动处理依赖,编译代码并执行。 3. **HTML与Web开发**:标签中提到了"HTML",意味着这个样板可能涉及到Web应用的开发。在Golang中,我们可以使用`net/http`...

    go-wkhtmltopdf:wkhtmltopdf Go绑定和HTML到PDF转换的高级界面

    例子基本网页到PDF转换服务器可配置的网页到PDF转换服务器 先决条件为了使用该软件包,必须安装wkhtmltox 。 可以在https://builds.wkhtmltopdf.org和https://github.com/wkhtmltopdf/packaging/releases找到适用...

    go语言照片网站,根据徐式伟《go语言编程》的例子编写.zip

    9. **模板引擎**:为了生成动态网页,Go语言有许多模板库,如`html/template`(标准库)、`golang.org/x/text/template`等,它们帮助将数据和HTML结构结合,生成最终的网页内容。 10. **部署与性能**:Go语言编译成...

    web-server-route.tar.gz

    在这个例子中,我们定义了两个路由,"/"对应homeHandler,"/about"对应aboutHandler。当用户访问这些URL时,相应的处理函数会被调用,向客户端返回定制的响应。 在"web-server-route.tar.gz"压缩包中,包含的"web-...

    go语言html模板渲染

    下面是一个简单的例子,展示了如何使用Go语言的`html/template`库渲染HTML模板: ```go package main import ( "html/template" "os" ) type PageData struct { Title string Content string } func main() ...

    Go语言多值替换的HTML模板实例分析

    在这个例子中,我们创建了一个新的模板`"T"`,并定义了一个包含两个键值对的`map`,即`"Username"`和`"MainPage"`。`ExecuteTemplate`函数使用这个`map`作为数据源,将模板中的`{{.Username}}`和`{{.MainPage}}`替换...

    go-microservice-template:Go REST HTTP微服务的模板,包括最小的依赖关系,可立即使用的Dockerfile,正常关闭等

    例子: import ( // rename with you module name "github.com/bruno-chavez/go-microservice-template/handlers" "github.com/julienschmidt/httprouter" "net/http" "os" "time") 将.env.example文件...

    gotpl:轻量级基于Go的模板引擎

    在这个例子中,`{{ .Name }}`和`{{ .Age }}`是两个变量,它们会在运行时被具体的值替换。 然后,通过命令行工具`gotpl`,你可以将模板文件的输出重定向到目标文件`DESTINATION_FILE`: ```bash gotpl TPL_FILE > ...

    fileCreate_Go_gojs_

    Go 语言,也称为 Golang,是由 Google 推出的一种静态类型的编译型编程语言,设计时考虑了并发、垃圾回收和高效的性能。而 `gojs` 提到了 Go 与 JavaScript 的结合,这意味着我们将探讨如何在 Go 程序中集成或调用 ...

Global site tag (gtag.js) - Google Analytics