为什么使用go fiber?
出于好奇心,之前就听闻过这个框架,虽然我的不会Express,听说Fiber是一个参考了Express的Web框架,建立在Go语言写的最快的FasthttpHTTP引擎的基础上。
按官网说的:皆在简化 零内存分配和提高性能,以便快速开发。
至于为啥不用Gin,beego,iris,echo,gf·····感觉上面哪些的框架目前市面上应该是已经很多人,有自己的教脚手架了!我自己出于刚重新接触GO回来没多久的!尝鲜的过程中去学东西也是很有感觉的!所以试一试吧!
目前的它已经出到了V2的版本了,和V1的差别还是比较大的!百度一番之后,也没教程!惯例!哈哈搬砖系列~之官网!!
Fiber 的特点(优势)
官网的大佬的给的几个点:
强大的路由 静态文件服务 极限表现 内存占用低 API 接口 中间件和Next支持 快速服务器端编程 模版引擎 WebSocket 支持 频率限制器 15 种语言
Fiber的限制
由于 Fiber 使用了 unsafe 特性,导致其可能与最新的 Go 版本不兼容。Fiber 2.18.0 已经在 Go 1.14 到 1.17 上验证过。Fiber 与 net/http 接口不兼容。这意味着你无法使用 gqlen,go-swagger 或者任何其他属于 net/http 生态的项目。
Fiber v2.21.0 版本初步使用
本节内容:
热更新插件使用 Fiber app对象的配置项 Fiber app路由和路由组 Fiber app启动监听自定义(http和https的配置)
1、来自官网的示例代码
1.1 fresh热重启
插件:
D:\code\go\awesomeProject1>gogetgithub.com/pilu/fresh
使用:
D:\code\go\awesomeProject1>fresh
20:23:57runner|InitFolders
20:23:57runner|mkdir./tmp
20:23:57runner|mkdir./tmp:Cannotcreateafilewhenthatfilealreadyexists.
20:23:57watcher|Watching.
20:23:57main|Waiting(loop1)...
20:23:57main|receivingfirstevent/
20:23:57main|sleepingfor600milliseconds
20:23:57main|flushingevents
20:23:57main|Started!(5Goroutines)
20:23:57main|removetmp\runner-build-errors.log:Thesystemcannotfindthefilespecified.
20:23:57build|Building...
20:23:58runner|Running...
自己玩的示例代码:
packagemain
import(
"fmt"
"github.com/gofiber/fiber/v2"
)
funcmain(){
app:=fiber.New()
//定义全局的中间件
app.Use(func(c*fiber.Ctx)error{
fmt.Println("