Golang 内建包-http

1. server

启动一个服务端,需要下面两个函数

  • http.ListenAndServe : 两个参数,监听端口号和事件处理器 Handler,默认分别是 127.0.0.1:8080 和默认多路复用器 DefaultServeMux
  • http.HandleFunc : 函数

事件处理器的 Handler 接口定义以及默认实现如下:

1
2
3
4
5
6
7
8
9
10
11
12
// Handler 接口
type Handler interface {
ServeHTTP(ResponseWriter, *Request)
}

// 默认实现的公共方法
type HandlerFunc func(ResponseWriter, *Request)

// ServeHTTP calls f(w, r).
func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) {
f(w, r)
}

1. 实战

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main

import (
"fmt"
"net/http"
)

func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello!")
}

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