实现一个简单的静态服务器,代码很简单,只需要在前面的代码里增加以下几行代码即可:
pwd ,err := os.Getwd();
if err != nil {
panic(err)
}
mux.Handle("/static",http.StripPrefix("/static", http.FileServer(http.Dir(pwd))))
这样就简单实现了一个静态文件服务器。完整代码如下:
package main
import (
"io"
"net/http"
"os"
)
func main () {
mux := http.NewServeMux()
mux.HandleFunc("/hi", sayHi)
pwd ,err := os.Getwd();
if err != nil {
panic(err)
}
mux.Handle("/static",http.StripPrefix("/static", http.FileServer(http.Dir(pwd))))
myServer := &http.Server{
Addr: "127.0.0.1:8080",
Handler: &MyHandler{mux},
}
//myServer.
myServer.ListenAndServe()
}
type MyHandler struct {
Mux *http.ServeMux
}
func (mh *MyHandler)ServeHTTP(w http.ResponseWriter, r *http.Request) {
mh.Mux.ServeHTTP(w, r)
}
func sayHi(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, "hi, this is cutom server")
}
(全文完)
本文介绍如何使用Go语言快速搭建一个静态文件服务器。通过几行代码即可实现,包括获取当前工作目录、设置路由处理函数和监听服务。代码示例清晰,适合初学者实践。
3万+

被折叠的 条评论
为什么被折叠?



