go最新版路由特性
package main
import (
"fmt"
"net/http"
)
func main() {
mux := http.NewServeMux()
// 注册路由
mux.HandleFunc("GET /posts/{id}", getPostHandler)
mux.HandleFunc("POST /posts", createPostHandler)
mux.HandleFunc("PUT /posts/{id}", updatePostHandler)
mux.HandleFunc("DELETE /posts/{id}", deletePostHandler)
// 启动服务器
http.ListenAndServe(":8080", mux)
}
// 获取帖子处理函数
func getPostHandler(w http.ResponseWriter, r *http.Request) {
id := r.PathValue("id")
fmt.Fprintf(w, "获取帖子 ID: %s\n", id)
}
// 创建帖子处理函数
func createPostHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "创建新帖子")
}
// 更新帖子处理函数
func updatePostHandler(w http.ResponseWriter, r *http.Request) {
id := r.PathValue("id")
fmt.Fprintf(w, "更新帖子 ID: %s\n", id)
}
// 删除帖子处理函数
func deletePostHandler(w http.ResponseWriter, r *http.Request) {
id := r.PathValue("id")
fmt.Fprintf(w, "删除帖子 ID: %s\n", id)
}
本作品采用《CC 协议》,转载必须注明作者和本文链接