Fiber
快速开始 依赖引入 1 go get github.com/gofiber/fiber/v2 零分配 在Fiber中,*fiber.ctx是可变的,因此ctx只能在处理程序中使用,且不可以保留任何引用。 1 2 3 4 func handler(c *fiber.Ctx) error { //变量仅在此处理程序中有效 result := c.Params("foo") } 如果需要持久化存储,请使用copy()构建底层缓冲区副本。 1 2 3 4 5 6 7 8 9 func handler(c *fiber.Ctx) error { //变量仅在此处理程序中有效 result := c.Params("foo") //制作副本 buffer := make([]byte, len(result)) copy(buffer, result) resultCopy := string(buffer) } 也可以使用ImmutableString函数直接变量拷贝 1 2 3 4 5 6 app.Get("/:foo", func(c *fiber.Ctx) error { //变量现在是不可变的 result := utils.ImmutableString(c.Params("foo")) // ... }) Hello World 1 2 3 4 5 6 7 8 9 10 11 12 13 package main import "github.com/gofiber/fiber/v2" func main() { app := fiber.New() app.Get("/", func(c *fiber.Ctx) error { return c.SendString("Hello, World!") }) app.Listen(":3000") } Fiber包 New 创建一个新的 App 命名实例并传递可选配置 ...