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

Go 熱加載之fresh詳解

 更新時(shí)間:2022年08月23日 11:39:18   作者:極智視界  
這篇文章主要為大家介紹了Go 熱加載之fresh詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

熱加載是指可以在不重啟服務(wù)的情況下,保存后即可讓更改的代碼生效的一種開發(fā)模式。熱加載可以顯著的提升開發(fā)和調(diào)試的效率,有了熱加載后,說明你不用重新再編譯、再執(zhí)行了。

特別是涉及到效果渲染,如前端的開發(fā)中,如果每次改了代碼后都要重新編譯再執(zhí)行,那開發(fā)效率太低了。

最完美的就是:代碼改了啥,我一保存,前端頁面馬上就能顯示我改了啥,這樣就十分方便。

同樣 Go 里面也有這種熱加載的機(jī)制,Go 語言具有 部署簡單、并發(fā)性好、上手快 的優(yōu)勢,如 Docker、Kubnernetes 等都是用 Go 開發(fā),現(xiàn)在很多服務(wù)的后臺(tái)也是用 Go 來寫的,Go 發(fā)展迅速,使用人群基數(shù)也在不斷擴(kuò)大。

其實(shí),Go 的熱加載小工具的選擇還是挺多的,除了我們這里要說的 fresh 之外,還有 air、bee、gowatch 等。

咱們開始。

首先確保你已經(jīng)安裝好了 Go 的環(huán)境 (Go 環(huán)境的安裝特別簡單),然后安裝 fresh,同樣非常簡單:

go get github.com/pilu/fresh

沒錯(cuò),這樣就好了。怎么用呢?咱們到 go 的工程目錄下,直接鍵入 fresh 替換原來的 go run main.go,就可以直接跑起來了。

為了更加好的說明,咱們來舉個(gè)例子,用 gin 來舉例吧,編寫一個(gè) main.go 文件:

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    // 創(chuàng)建一個(gè)默認(rèn)的路由引擎
    r := gin.Default()
    // 配置路由
    r.GET("/", func(c *gin.Context){
        c.JSON(200, gin.H{  // c.JSON: 返回 JSON 格式的數(shù)據(jù)
            "message": "Hello world! I from Gin.",
        })
    })
    // 啟動(dòng) HTTP 服務(wù),監(jiān)聽 8080 端口
  r.Run(":8080")
}

傳統(tǒng)運(yùn)行 go 的方式:

go run main.go

打開 chrome,輸入 IP:8080,可得到輸出:

注:上圖的 FeHelper 是個(gè)瀏覽器插件,可以更加好的展示如 JSON 格式數(shù)據(jù)

上面說的 傳統(tǒng)運(yùn)行 go 的方式 也即冷啟動(dòng),每次改動(dòng)?xùn)|西后,需要重新手動(dòng)啟動(dòng)程序。接下來咱們使用 熱啟動(dòng),直接鍵入 fresh

前端展示效果是一樣的,這個(gè)時(shí)候如果你改了東西,直接保存,它不用再重啟服務(wù),就可以直接幫你把修改后的渲染到頁面了。

再補(bǔ)充一下,如果你在執(zhí)行 fresh 命令碰到報(bào)錯(cuò): fresh: 未找到命令。則你可能需要做個(gè)軟連接:

sudo ln -s ~/go/bin/fresh /usr/bin

這樣應(yīng)該就可以了。

以上就是Go 熱加載之fresh詳解的詳細(xì)內(nèi)容,更多關(guān)于Go 熱加載 fresh的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go singleflight使用以及原理

    Go singleflight使用以及原理

    singleflight官方解釋其為:singleflight提供了一個(gè)重復(fù)的函數(shù)調(diào)用抑制機(jī)制。通俗的解釋其作用是,若有多個(gè)協(xié)程運(yùn)行某函數(shù)時(shí),只讓一個(gè)協(xié)程去處理,然后批量返回。非常適合來做并發(fā)控制。常見用于緩存穿透的情況
    2023-01-01
  • Go設(shè)計(jì)模式之狀態(tài)模式圖文詳解

    Go設(shè)計(jì)模式之狀態(tài)模式圖文詳解

    狀態(tài)模式是一種行為設(shè)計(jì)模式, 讓你能在一個(gè)對(duì)象的內(nèi)部狀態(tài)變化時(shí)改變其行為, 使其看上去就像改變了自身所屬的類一樣,本文將通過一些圖片來給大家詳細(xì)的介紹一下Go的狀態(tài)模式,需要的朋友可以參考下
    2023-08-08
  • GO語io包的常用接口

    GO語io包的常用接口

    這篇文章主要介紹了GO語io包的常用接口,分析了GO語言接口的概念與功能,并實(shí)例列舉了幾個(gè)最常用的接口的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • 我放棄Python轉(zhuǎn)Go語言的9大理由(附優(yōu)秀書籍推薦)

    我放棄Python轉(zhuǎn)Go語言的9大理由(附優(yōu)秀書籍推薦)

    這篇文章主要給大家介紹了關(guān)于我放棄Python轉(zhuǎn)Go語言的9大理由,以及給大家推薦了6本優(yōu)秀的go語言書籍,對(duì)同樣想學(xué)習(xí)golang的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • glow工具在命令行讀取Markdown好物分享

    glow工具在命令行讀取Markdown好物分享

    這篇文章主要為大家介紹了一款實(shí)用的命令行工具glow,這個(gè)CLI工具可以在命令行讀取Markdown,這對(duì)于碼農(nóng)來說非常友好,使用起來也非常舒爽
    2022-07-07
  • Golang中Set類型的實(shí)現(xiàn)方法示例詳解

    Golang中Set類型的實(shí)現(xiàn)方法示例詳解

    這篇文章主要給大家介紹了關(guān)于Golang中Set類型實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Go語言框架快速集成限流中間件詳解

    Go語言框架快速集成限流中間件詳解

    這篇文章主要為大家介紹了Go語言框架快速集成限流中間件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • golang實(shí)現(xiàn)并發(fā)控制的方法和技巧

    golang實(shí)現(xiàn)并發(fā)控制的方法和技巧

    golang 是一門支持并發(fā)的編程語言,它提供了 goroutine 和 channel 等強(qiáng)大的特性,讓我們可以輕松地創(chuàng)建和管理多個(gè)執(zhí)行單元,實(shí)現(xiàn)高效的任務(wù)處理,在本文中,我們將介紹一些 golang 的并發(fā)控制的方法和技巧,希望對(duì)你有所幫助
    2024-03-03
  • golang利用pprof與go-torch如何做性能分析

    golang利用pprof與go-torch如何做性能分析

    這篇文章主要給大家介紹了關(guān)于golang利用pprof與go-torch如何做性能分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Go反射中type和kind區(qū)別比較詳析

    Go反射中type和kind區(qū)別比較詳析

    這篇文章主要給大家介紹了關(guān)于Go反射中type和kind區(qū)別比較的相關(guān)資料,Type是接口類型,Value是Struct類型,Type是類型描述,而Value是具體的值,需要的朋友可以參考下
    2023-10-10

最新評(píng)論