這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
golang web
一個簡單的web Demo.
可參考 Writing Web Applications
項目目錄結構
main.go
// web project main.gopackage mainimport ( "log" "net/http" "text/template")type WebData struct { Name string}var name stringfunc rootHandler(w http.ResponseWriter, r *http.Request) { t, _ := template.ParseFiles("tmpl/hi.html") if r.Method == "GET" { } else { //請求 name = r.FormValue("name") log.Println("username:", name) } if len(name) > 0 { wd := WebData{ Name: name, } t.Execute(w, &wd) } else { t.Execute(w, nil) } http.Redirect(w, r, "/", http.StatusCreated)}// A simple say hi exmaple, sending and receive data from webfunc main() { http.HandleFunc("/", rootHandler) port := ":8080" log.Println("serving at localhost", port) // start serving err := http.ListenAndServe(port, nil) if err != nil { log.Fatal("ListenAndServe: ", err) }}
hi.html
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Wiki made using Golang</title></head><h1>Hi Web</h1><form action="/hi" method="post"> <label for="name">Your Name</label> <input type="text" id="name" name="name"> <button type="submit">Login</button> </form> <p>Hi,{{.Name}}</p></html>