go 中区分函数和方法,方法依附于对象,需要先创建对象,才能调用对象的方法;而函数是包级的,只要是公开的,那么通过包就可以访问。go 中定义新的类型有两种方式,类型别名和结构体:
// 类型别名
type Integer int
type Integer1 = int
// 结构体
type User struct {
Name string
Age int
}
此外,类型别名不仅可以用在现有类型上,也可以用在方法上:
type Middleware func(handler http.Handler) http.Handler
请求路由
在 Web 框架中,router 是必备的组件,go 的 http 标准库为我们提供了 DefaultServeMux
来处理简单的路由,因此用 go 起步写一个简单的 web 服务是很容易的一件事情:
package main
import (
"log"
"net/http"
)
func init() {
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
// handle request
})
}
func main()