使用Go语言编写Web程序(二)
Jochndan
8年前
<p>上一节我们使用Go语言写了一个进行web服务端口侦听和简单的URL请求输出,但并没有实现我们上网浏览网页时所看到的丰富多彩的html页面,当我们需要把分离出来的html页面加入到Go语言编写的服务时,我们需要在服务程序中导入html/template。</p> <pre> <code class="language-go">import( "fmt" "log" "net/http" "html/template" )</code></pre> <p>然后我们创建一个template文件,命名为index.html放在main.go相同文件夹下,文件中填写如下代码:</p> <pre> <code class="language-html"><h1>欢迎使用html文件</h1> <p>这是一个分离出来的html文件加入到了Go Web服务中</p></code></pre> <p>main.go填写如下代码:</p> <pre> <code class="language-go">package main import ( "fmt" "html/template" "log" "net/http" ) func IndexHandler(w http.ResponseWriter, r *http.Request) { t, err := template.ParseFiles("index.html") if err != nil { log.Println(err) } err = t.Execute(w,nil) if err != nil { log.Println(err) } } func main() { http.HandleFunc("/index",IndexHandler) fmt.Println("服务端口:8000") //控制台输出信息 err := http.ListenAndServe(":8000", nil) //设置监听的端口 if err != nil { log.Fatal("ListenAndServe: ", err) } } </code></pre> <p>运行 go run main.go 使用浏览器访问 http://localhost:8000/index 时得到如下结果:</p> <p><img src="https://simg.open-open.com/show/c3582b947b08032db29c70d0b661d59a.png"></p> <p> </p> <p>来自: http://my.oschina.net/zhizhisoft/blog/735632</p> <p> </p> <p><span style="background:rgb(189, 8, 28) url("data:image/svg+xml; border-radius:2px; border:medium none; color:rgb(255, 255, 255); cursor:pointer; display:none; font:bold 11px/20px "Helvetica Neue",Helvetica,sans-serif; left:30px; opacity:0.85; padding:0px 4px 0px 0px; position:absolute; text-align:center; text-indent:20px; top:1017px; width:auto; z-index:8675309">Save</span></p> <p> </p>