go语言快速入门:模板应用(13)

在go语言中,通过使用http包,可以非常简单快速地创建一个Web应用。同时使用template包,可以很方便的进行数据替换,如果结合CSS就已经能够进行简单的开发了。在接下来的几篇文章中,我们将通过几个例子来学习一下如何活用这些最基础的知识。

实例1

在上篇文章中,我们使用template,将替换后的信息输出到os.Stdout标准输出进行显示,在这个例子中,结合第一个web应用的例子,可以通过浏览器进行访问。

参考内容 URL
Web应用 http://blog.csdn.net/liumiaocn/article/details/54878953
模板实例 http://blog.csdn.net/liumiaocn/article/details/54882507

例子代码

查看代码可以看出,除了模板的Execute方法的输出目的地从os.Stdout到http.ResponseWriter的response,其他没有任何区别。

[root@liumiaocn goprj]# cat basic-web-hello2.go
package main

import "fmt"
import "net/http"
import "html/template"

func Hello(response http.ResponseWriter, request *http.Request) {
        type person struct {
                Id      int
                Name    string
                Country string
        }

        liumiaocn := person{Id: 1001, Name: "liumiaocn", Country: "China"}

        tmpl, err := template.ParseFiles("./user.tpl")
        if err != nil {
                fmt.Println("Error happened..")
        }
        tmpl.Execute(response, liumiaocn)
}

func main() {
        http.HandleFunc("/", Hello)
        http.ListenAndServe(":8080", nil)
}
[root@liumiaocn goprj]#

模板文件user.tpl内容

[root@liumiaocn goprj]# cat user.tpl
<html>
<head>
<title>Personal information</title>
</head>
<body style="text-align:center">
<h3>Person general infor</h3>
<hr>
<ul>
<li>Name: {{.Name}}<p>
<li>Id: {{.Id}} <p>
<li>Country: {{.Country}}
</ul>
<hr>
<h3>Hello, {{.Name}}  Welcome to go programming...</h3>
</body>
</html>
[root@liumiaocn goprj]#

执行结果

[root@liumiaocn goprj]# go run basic-web-hello2.go

画面确认

这里写图片描述

总结

在单页应用日益广泛,go语言这样通过及其简单和方便的方式提供面向Web应用开发的标准包,对Web相关知识没有系统学习的新手来说还是具有很大的吸引力的一门语言的。

发布了920 篇原创文章 · 获赞 1260 · 访问量 389万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览