在go语言中,通过使用http包,可以非常简单快速地创建一个Web应用。同时使用template包,可以很方便的进行数据替换,如果结合CSS就已经能够进行简单的开发了。在接下来的几篇文章中,我们将通过几个例子来学习一下如何活用这些最基础的知识。
在上篇文章中,我们使用template,将替换后的信息输出到os.Stdout标准输出进行显示,在这个例子中,结合第一个web应用的例子,可以通过浏览器进行访问。
参考内容URLWeb应用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]#在单页应用日益广泛,go语言这样通过及其简单和方便的方式提供面向Web应用开发的标准包,对Web相关知识没有系统学习的新手来说还是具有很大的吸引力的一门语言的。
淼叔 认证博客专家 神经网络 TensorFlow NLP 资深架构师,PMP、OCP、CSM、HPE University讲师,EXIN DevOps Professional与DevOps Master认证讲师,曾担任HPE GD China DevOps & Agile Leader,帮助企业级客户提供DevOps咨询培训以及实施指导。熟悉通信和金融领域,有超过十年金融外汇行业的架构设计、开发、维护经验,在十几年的IT从业生涯中拥有了软件开发设计领域接近全生命周期的经验和知识积累,著有企业级DevOps技术与工具实战。