欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言入門Go?Web?Fiber框架快速了解

 更新時間:2022年05月20日 15:10:16   作者:宇宙之一粟  
這篇文章主要為大家介紹了Go語言入門Go?Web?Fiber框架的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

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)文章

  • 如何go語言比較兩個對象是否深度相同

    如何go語言比較兩個對象是否深度相同

    這篇文章主要介紹了如何go語言比較兩個對象是否深度相同,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Go讀取yaml文件到struct類的實現(xiàn)方法

    Go讀取yaml文件到struct類的實現(xiàn)方法

    本文主要介紹了Go讀取yaml文件到struct類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Ubuntu下安裝Go語言開發(fā)環(huán)境及編輯器的相關(guān)配置

    Ubuntu下安裝Go語言開發(fā)環(huán)境及編輯器的相關(guān)配置

    這篇文章主要介紹了Ubuntu下安裝Go語言開發(fā)環(huán)境及編輯器的相關(guān)配置,編輯器方面介紹了包括Vim和Eclipse,需要的朋友可以參考下
    2016-02-02
  • Go語言題解LeetCode下一個更大元素示例詳解

    Go語言題解LeetCode下一個更大元素示例詳解

    這篇文章主要為大家介紹了Go語言題解LeetCode下一個更大元素示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Go實現(xiàn)并發(fā)緩存的示例代碼

    Go實現(xiàn)并發(fā)緩存的示例代碼

    高并發(fā)數(shù)據(jù)存儲是現(xiàn)代互聯(lián)網(wǎng)應(yīng)用開發(fā)中常遇到的一大挑戰(zhàn),本文主要介紹了Go實現(xiàn)并發(fā)緩存的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 詳解Go語言微服務(wù)開發(fā)框架之Go chassis

    詳解Go語言微服務(wù)開發(fā)框架之Go chassis

    分布式系統(tǒng)中每個進(jìn)程的動態(tài)配置管理及運行時熱加載就成為了一個亟待解決的問題。go chassis汲取了netflix的archaius框架經(jīng)驗,并做出來自己的創(chuàng)新特性。
    2021-05-05
  • Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能

    Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能

    這篇文章主要介紹了Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能,使用net/http模塊編寫了一個簡單的登錄驗證和文件上傳的功能,在此做個簡單記錄,需要的朋友可以參考下
    2023-07-07
  • golang rate令牌桶源碼分析實現(xiàn)方式

    golang rate令牌桶源碼分析實現(xiàn)方式

    這篇文章主要介紹了golang rate令牌桶源碼分析實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Go語言中字符串的查找方法小結(jié)

    Go語言中字符串的查找方法小結(jié)

    這篇文章主要介紹了Go語言中字符串的查找方法小結(jié),示例的main函數(shù)都是導(dǎo)入strings包然后使用其中的方法,需要的朋友可以參考下
    2015-10-10
  • 詳解Go語言中的結(jié)構(gòu)體的特性

    詳解Go語言中的結(jié)構(gòu)體的特性

    結(jié)構(gòu)體是Go語言中重要且靈活的概念之一,本文旨在深入介紹Go語言中的結(jié)構(gòu)體,揭示其重要性和靈活性,并向讀者展示結(jié)構(gòu)體支持的眾多特性,需要的可以參考一下
    2023-06-06

最新評論