最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go 熱加載之fresh詳解

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

正文

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

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

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

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

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

咱們開始。

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

go get github.com/pilu/fresh

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

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

package main

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

func main() {
    // 創(chuàng)建一個默認(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.",
        })
    })
    // 啟動 HTTP 服務(wù),監(jiān)聽 8080 端口
  r.Run(":8080")
}

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

go run main.go

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

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

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

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

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

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

  • Golang分布式鎖簡單案例實現(xiàn)流程

    Golang分布式鎖簡單案例實現(xiàn)流程

    分布式鎖是控制分布式系統(tǒng)之間同步訪問共享資源的一種方式。如果不同的系統(tǒng)或是同一個系統(tǒng)的不同主機之間共享了一個或一組資源,那么訪問這些資源時,需要通過一些互斥手段來防止彼此之間的干擾以保證一致性,在這種情況下,就需要使用分布式鎖了
    2022-12-12
  • 詳解golang中make與new的異同點和用法

    詳解golang中make與new的異同點和用法

    這篇文章將給大家介紹了go語言中函數(shù)new與make的使用和區(qū)別,關(guān)于go語言中new和make是內(nèi)建的兩個函數(shù),主要用來創(chuàng)建分配類型內(nèi)存,文中通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-01-01
  • Go?跨域中間件解決CORS問題

    Go?跨域中間件解決CORS問題

    跨域問題CORS是前端開發(fā)人員經(jīng)常遇到的問題,本文主要介紹了Go?跨域中間件解決CORS問題,具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • Golang 實現(xiàn)復(fù)制文件夾同時復(fù)制文件

    Golang 實現(xiàn)復(fù)制文件夾同時復(fù)制文件

    這篇文章主要介紹了Golang 實現(xiàn)復(fù)制文件夾同時復(fù)制文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go單例模式與Once源碼實現(xiàn)

    Go單例模式與Once源碼實現(xiàn)

    這篇文章主要介紹了Go單例模式與Once源碼實現(xiàn),本文結(jié)合示例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • gin?session中間件使用及源碼流程分析

    gin?session中間件使用及源碼流程分析

    這篇文章主要為大家介紹了gin?session中間件使用及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Golang中的[]byte與16進(jìn)制(String)之間的轉(zhuǎn)換方式

    Golang中的[]byte與16進(jìn)制(String)之間的轉(zhuǎn)換方式

    這篇文章主要介紹了Golang中的[]byte與16進(jìn)制(String)之間的轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Go語言泛型打造優(yōu)雅的切片工具庫

    Go語言泛型打造優(yōu)雅的切片工具庫

    泛型是一種編程范式,允許開發(fā)者在編寫代碼時定義通用的類型參數(shù),而不是具體的類型,本文將使用泛型實現(xiàn)打造優(yōu)雅的切片工具庫,希望對大家有所幫助
    2025-02-02
  • Go語言學(xué)習(xí)之時間函數(shù)使用詳解

    Go語言學(xué)習(xí)之時間函數(shù)使用詳解

    這篇文章主要為大家詳細(xì)介紹了Go語言中時間函數(shù)的使用方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Go語言有一定的幫助,需要的可以參考一下
    2022-04-04
  • go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%

    go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%

    這篇文章主要介紹了go語言time.After優(yōu)化后性能提升34%內(nèi)存減少67%實例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評論

五莲县| 夹江县| 丹凤县| 邯郸县| 博兴县| 九江市| 谷城县| 祥云县| 孟村| 漳州市| 翁源县| 香格里拉县| 芦山县| 桑日县| 周宁县| 苗栗市| 蒲江县| 育儿| 托里县| 杭州市| 务川| 禹城市| 进贤县| 谷城县| 陆丰市| 奈曼旗| 绩溪县| 新化县| 封开县| 昆山市| 五常市| 苏州市| 辽宁省| 长海县| 山阴县| 嘉善县| 澄城县| 嘉义市| 南江县| 静安区| 云梦县|