目的

了解 Go 开发 Web 应用的基本原理。

效果

代码

package main

import (
    "fmt"
    "http"
)

type User struct {
    Name    string
}

func Register(w http.ResponseWriter, r *http.Request) {
    if "GET" == r.Method {
        fmt.Fprintln(w, "<h1>Register</h1>" +
            "<form action='/' method='POST'>" +
            " User Name: <input name='userName' value='Type in your name'/><input type='submit' value='Register'/>" +
            "</form>")
        return
    }

    user := &User{r.FormValue("userName")}
    fmt.Fprintln(w, "Hello ", user.Name)
}

func main() {
    http.HandleFunc("/", Register)
    http.ListenAndServe(":8080", nil)
}

总结

  • 相比 Java Web 开发,简洁不少(语法、配置)
  • 调试不方便,需要重编译、链接

下一步

  • 模板入门
  • 数据持久化

----

Updates:

Nov 26, 2011 - 把图片移到了 SkyDrive