我的第一个Go web程序 纪念一下

时间:2024-01-17 13:35:02

参考Go web编程,很简单的程序:

  大致的步骤:

    1. 绑定ip和端口
    2. 绑定对应的处理器或者处理器函数,有下面两种选择,选择一种即可监听ip及端口
      1. 处理器:
        1. 定义一个struct结构体
        2. 然后让这个结构体实现ServeHTTP的接口
        3. 创建一个该结构的实例
        4. 将该实例的地址(指针)作为参数传递给Handle
      2. 处理器函数
        1. 定义一个函数
        2. 该函数必须和ServeHTTP一样的函数签名
        3. 函数名直接作为参数传递给HandleFunc
    3. 监听ip和port
    4. 使用浏览器访问绑定的ip加port,即可访问

 使用处理器形式:

package main
import (
"fmt"
"net/http"
)
type Home struct{}
type About struct{}
func (h *Home) ServeHTTP(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "this is home")
}
func (a *About) ServeHTTP(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "this is about")
}
func main() {
server := http.Server{
Addr: "127.0.0.1:8080",
}
home := &Home{}
about := &About{}
http.Handle("/home", home)
http.Handle("/about", about)
server.ListenAndServe()
}

  

使用处理器函数形式:

package main
import (
"fmt"
"net/http"
)
func home(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "this is home2")
}
func about(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "this is about2")
}
func main() {
server := http.Server{
Addr: "127.0.0.1:8080",
}
http.HandleFunc("/home", home)
http.HandleFunc("/about", about)
server.ListenAndServe()
}