(资料图片)
路由
在HTTP服务中,路由用于将请求分发到对应的处理函数中。Go语言的net/http
包提供了多种路由方式,例如使用http.HandleFunc()
方法和使用http.NewServeMux()
方法。
使用http.HandleFunc()
使用http.HandleFunc()
方法可以非常方便地注册路由和处理函数。这个方法会自动将路由和处理函数绑定在一起,并将路由和处理函数添加到路由器对象中。
func main() { http.HandleFunc("/", handlerFunc) http.ListenAndServe(":8080", nil)}
在上面的示例中,我们使用http.HandleFunc()
方法将路由和处理函数绑定在一起,并将路由添加到路由器对象中。这个处理函数的功能和前面的示例中的处理函数相同。
使用http.NewServeMux()
使用http.NewServeMux()
方法可以创建一个HTTP路由器对象,然后使用mux.HandleFunc()
方法来注册路由和处理函数。
func main() { mux := http.NewServeMux() mux.HandleFunc("/", handlerFunc) http.ListenAndServe(":8080", mux)}
在上面的示例中,我们首先创建了一个HTTP路由器对象,然后使用mux.HandleFunc()
方法将路由和处理函数绑定在一起,并将路由添加到路由器对象中。
处理静态文件
在Web开发中,通常需要将一些静态文件(例如CSS、JavaScript、图片等)提供给客户端。在Go语言中,我们可以使用http.FileServer()
方法来处理静态文件。
func main() { mux := http.NewServeMux() // 将静态文件目录和处理函数绑定在一起 mux.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) // 注册路由和处理函数 mux.HandleFunc("/", handlerFunc) http.ListenAndServe(":8080", mux)}
在上面的示例中,我们首先使用http.FileServer()
方法创建一个静态文件服务器,并将静态文件目录和处理函数绑定在一起。然后,我们将路由和处理函数绑定在一起,并将路由添加到路由器对象中。