package main import ( "net/http" "path/filepath" ) func main() { // 获取静态资源目录的硬盘路径 path, _ := filepath.Abs(".") path = filepath.Dir(path) + "/static" // 设置静态资源目录别名 // 重要说明①:目录别名必须以“/”结尾 // 重要说明②:目录别名和实际名可以相同,但若不同则只能通过别名访问静态资源 alias := "/public/" // 注册访问静态资源Handler handler := http.FileServer(http.Dir(path)) handler = http.StripPrefix(alias, handler) http.Handle(alias, handler) // 注册访问普通页面Handler http.HandleFunc("/test.html", func(writer http.ResponseWriter, request *http.Request) { _, _ = writer.Write([]byte("hello, world")) // 在页面输出“hello, world” }) // 启动HTTP服务器,服务端口号8080 err := http.ListenAndServe(":8080", nil) if err != nil { panic("启动HTTP服务器失败") } } // ========== 目录结构·开始 ========== // // ├── cmd // │ └── main.go // ├── static // │ └── img // │ └── demo.png // ========== 目录结构·结束 ========== // // ========== 总结 ========== // // 1、可使用同一个服务端口来处理静态资源和普通页面的访问请求: // 静态资源URL → http://localhost:8080/public/img/demo.png // 普通页面URL → http://localhost:8080/test.html // 2、支持设置多个静态资源目录。
Copyright © 2025 码农人生. All Rights Reserved