号称Golang最快的Web框架

简介:

Fiber是在Go最快的HTTP引擎Fasthttp之上构建的Go web框架。它的设计目的是在考虑到零内存分配和性能的情况下简化快速开发。它的特性:稳健的路由提供静态文件极致性能内存占用空间低API终点中间件和Next支持快速服务器端编程模板引擎WebSocket支持Socket.io支持服务器发送的事件速率限制器

Fiber的灵感来源于互联网上最流行的web框架Express。我们结合了Express的易用性和Go的原始性能。如果您曾经在Node.js中实现过web应用程序(使用Express或类似工具),那么许多方法和原理对您来说都是非常常见的。使用Fiber注意事项,由于Fiber使用了unsafe,库可能并不总是与最新的Go版本兼容。Fiber3.0.0已通过Go版本1.21和1.22的测试。Fiber v3还在开发中,对于生产使用还不稳定,推荐选择Fiber v2。如果你想尝鲜,可以选择Fiber v3。Fiber与net/http接口不兼容,这意味着你将无法使用像gqlgen、go swagger或任何其他属于net/http生态系统的项目。

Hello World演示项目:

package main

 

import (

"log"

 

"github.com/gofiber/fiber/v3"

)

 

func main() {

// Initialize a new Fiber app

app := fiber.New()

 

// Define a route for the GET method on the root path '/'

app.Get("/", func(c fiber.Ctx) error {

// Send a string response to the client

return c.SendString("Hello, World 👋!")

})

 

// Start the server on port 3000

log.Fatal(app.Listen(":3000"))

}

 

路由的写法:

func main() {

app := fiber.New()

 

// GET /api/register

app.Get("/api/*", func(c fiber.Ctx) error {

msg := fmt.Sprintf("✋ %s", c.Params("*"))

return c.SendString(msg) // => ✋ register

})

 

// GET /flights/LAX-SFO

app.Get("/flights/:from-:to", func(c fiber.Ctx) error {

msg := fmt.Sprintf("💸 From: %s, To: %s", c.Params("from"), c.Params("to"))

return c.SendString(msg) // => 💸 From: LAX, To: SFO

})

 

// GET /dictionary.txt

app.Get("/:file.:ext", func(c fiber.Ctx) error {

msg := fmt.Sprintf("📃 %s.%s", c.Params("file"), c.Params("ext"))

return c.SendString(msg) // => 📃 dictionary.txt

})

 

// GET /john/75

app.Get("/:name/:age/:gender?", func(c fiber.Ctx) error {

msg := fmt.Sprintf("👴 %s is %s years old", c.Params("name"), c.Params("age"))

return c.SendString(msg) // => 👴 john is 75 years old

})

 

// GET /john

app.Get("/:name", func(c fiber.Ctx) error {

msg := fmt.Sprintf("Hello, %s 👋!", c.Params("name"))

return c.SendString(msg) // => Hello john 👋!

})

 

log.Fatal(app.Listen(":3000"))

}

 

Fiber是一个不错的Go Web框架,它有完善的文档,丰富的功能,极高的性能。

Github地址:https://github.com/gofiber/fiber

 

 

 

版权声明:
作者:89391311
链接:https://www.csev.cn/share/code/20240404157.html/
来源:测试分享
版权声明:本文欢迎任何形式转载,转载时完整保留本声明信息(包含原文链接、原文出处、原文作者、版权声明)即可。本文后续所有修改都会第一时间在原始地址更新。
THE END
根据我国《计算机软件保护条例》第十七条规定:“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。本站资源仅供个人学习交流,请于下载后 24 小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录