首页 > 其他 > 详细

go 模板

时间:2019-05-20 18:47:02      阅读:133      评论:0      收藏:0      [点我收藏+]
package main

import (
    "fmt"
    "log"
    "net/http"
    "os"
    "text/template"
)

type Person struct {
    Name string
    age  string
}
func GetTest(w http.ResponseWriter, r *http.Request){
    t, err := template.ParseFiles("F:\\go_test\\src\\10_http\\index.html")
    if err != nil {
        fmt.Println("parse file err:", err)
        return
    }
    p := Person{Name: "Mary", age: "31"}
    file, err := os.OpenFile("testxxx.txt", os.O_CREATE|os.O_RDONLY, 0755)
    defer file.Close()
    if err != nil{

    }

    //if err := t.Execute(os.Stdout, p); err != nil {  // 输出终端
    //if err := t.Execute(w, p); err != nil { // 输出网页
    if err := t.Execute(file, p); err != nil { // 输出文件
        fmt.Println("There was an error:", err.Error())
    }

}


func main() {
    fmt.Println("listening...")
    http.HandleFunc("/test", GetTest)
    http.HandleFunc("/test1", logPanics(SimpleServer))
    http.HandleFunc("/test2", logPanics(FormServer))
    if err := http.ListenAndServe(":8088", nil); err != nil {
        fmt.Println("listen error")
    }
}

func logPanics(handle http.HandlerFunc) http.HandlerFunc {
    return func(writer http.ResponseWriter, request *http.Request) {
        defer func() {
            if x := recover(); x != nil {
                log.Printf("[%v] caught panic: %v", request.RemoteAddr, x)
            }
        }()
        handle(writer, request)
    }
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{.Name}}hello!{{.}}
</body>
</html>

go 模板

原文:https://www.cnblogs.com/lajiao/p/10895720.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!