Go語言入門Go?Web?Fiber框架快速了解
Go Fiber 教程展示了如何使用 Fiber 框架在 Golang 中創(chuàng)建簡單的 Web 應(yīng)用程序。
Fiber 是一個簡單快速的 Go Web 框架。 Fiber 專注于極致性能和低內(nèi)存占用。它的靈感來自流行的 Express JS 框架。

Fiber 創(chuàng)建一個 HelloWorld
package main
import (
"log"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/", func (c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
log.Fatal(app.Listen(":3000"))
}
Fiber 路由
路由將 HTTP 動詞(例如 GET、POST、PUT、DELETE)和 URL 路徑關(guān)聯(lián)到處理函數(shù)。要創(chuàng)建路由,我們使用 Fiber 應(yīng)用程序?qū)ο蟮暮瘮?shù)。
app.Get("/", func(c *fiber.Ctx) error {
...
})
這里我們將 GET 請求中發(fā)送的 / 路徑映射到處理函數(shù)。該函數(shù)接收一個上下文對象作為參數(shù)。它保存 HTTP 請求和響應(yīng)。
Go Fiber 狀態(tài)碼
HTTP 響應(yīng)狀態(tài)代碼指示特定 HTTP 請求是否已成功完成。
回答分為五類:
- 信息響應(yīng) (100–199)
- 成功響應(yīng) (200–299)
- 重定向 (300–399)
- 客戶端錯誤 (400–499)
- 服務(wù)器錯誤 (500–599)
package main
import (
"log"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.SendStatus(fiber.StatusOK)
})
log.Fatal(app.Listen(":3000"))
}SendStatus 函數(shù)設(shè)置 HTTP 狀態(tài)代碼。
app := fiber.New()
New 函數(shù)創(chuàng)建一個新的 Fiber 命名實例。
app.Get("/", func(c *fiber.Ctx) error {
return c.SendStatus(fiber.StatusOK)
})Get 函數(shù)為 HTTP GET 方法注冊一個路由。我們將 / 路徑映射到匿名函數(shù);該函數(shù)返回 Fiber.StatusOK 代碼。
Go Fiber 發(fā)送短信
使用 SendString 函數(shù)發(fā)送文本消息。
package main
import (
"log"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/text", func(c *fiber.Ctx) error {
return c.SendString("Hello there!!")
})
log.Fatal(app.Listen(":3000"))
}當(dāng)我們訪問 localhost:3000/text URL 時,我們會收到一條簡單的文本消息。
$ curl localhost:3000/text Hello there!!
Go Fiber headers
請求對象還包括從客戶端發(fā)送的請求標(biāo)頭。請求標(biāo)頭是 HTTP 標(biāo)頭,其中包含有關(guān)要獲取的資源以及請求資源的客戶端的更多信息。
同樣,響應(yīng)標(biāo)頭包括來自服務(wù)器的元信息。
package main
import (
"log"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Main page")
})
app.Get("/user-agent", func(c *fiber.Ctx) error {
ua := c.Get("User-Agent")
return c.SendString(ua)
})
log.Fatal(app.Listen(":3000"))
}Get 函數(shù)返回字段指定的 HTTP 請求標(biāo)頭。在我們的例子中,我們返回用戶代理名稱。
$ curl localhost:3000/user-agent curl/7.74.0
Go Fiber 發(fā)送文件
SendFile 函數(shù)在給定路徑傳輸文件。圖像顯示在瀏覽器中。下載功能傳輸圖像;該圖像由瀏覽器作為附件提供。
package main
import (
"log"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/sid", func(c *fiber.Ctx) error {
return c.Download("./data/sid.png")
})
app.Get("/sid2", func(c *fiber.Ctx) error {
return c.SendFile("./data/sid.png")
})
log.Fatal(app.Listen(":3000"))
}在示例中,我們有用于顯示和下載圖像的 URL 路徑。圖像存儲在數(shù)據(jù)目錄中。
以上就是Go語言入門Go Web Fiber框架快速了解的詳細(xì)內(nèi)容,更多關(guān)于Go Web Fiber框架的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mac下golang安裝了windows編譯環(huán)境后編譯變慢
這篇文章主要介紹了mac下golang安裝了windows編譯環(huán)境后編譯變慢的處理方法,非常的簡單,有相同問題的小伙伴可以參考下。2015-04-04
Go語言開發(fā)編程規(guī)范命令風(fēng)格代碼格式
這篇文章主要為大家介紹了Go語言開發(fā)編程規(guī)范命令風(fēng)格代碼格式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Go語言中常量和變量的定義、使用規(guī)范及常見應(yīng)用場景
每一門語言都會有常量的定義,變量的定義,以及基于這些定義的運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于Go語言中常量和變量的定義、使用規(guī)范及常見應(yīng)用場景的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
go-zero接入skywalking實現(xiàn)鏈路追蹤的詳細(xì)教程
SkyWalking是一個開源的服務(wù)追蹤系統(tǒng),它專注于分布式系統(tǒng)的可觀測性和服務(wù)性能分析,它的主要目標(biāo)是幫助開發(fā)者理解和優(yōu)化微服務(wù)架構(gòu)中的服務(wù)間交互情況,本文介紹了go-zero接入skywalking鏈路追蹤的詳細(xì)教程,需要的朋友可以參考下2024-08-08
GO語言字符串處理Strings包的函數(shù)使用示例講解
這篇文章主要為大家介紹了GO語言字符串處理Strings包的函數(shù)使用示例講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04

