Gin是一個用Golang編寫的HTTP網絡框架。它的特點是類似於Martini的API,性能更好。在golang web開發領域是一個非常熱門的web框架。 啟動一個Gin web服務器 使用下面的命令安裝Gin 在代碼里添加依賴 快速啟動一個Gin服務器的代碼如下 核心 ...
本文是對前幾篇文章的一些補充,主要包含兩部分:單元測試和實際項目中使用路由的小問題。 拾遺 :單元測試 Golang單元測試要求代碼文件以 test結尾,單元測試方法以Test開頭,參數為 testing.T類型。以下是一個計算hash值的工具包和對應的單元測試。 hashUtils.go hashUtils test.go 除了測試這種邏輯代碼我們還需要測試HTTP的請求響應。Gin推薦使用n ...
2020-12-04 14:28 0 370 推薦指數:
Gin是一個用Golang編寫的HTTP網絡框架。它的特點是類似於Martini的API,性能更好。在golang web開發領域是一個非常熱門的web框架。 啟動一個Gin web服務器 使用下面的命令安裝Gin 在代碼里添加依賴 快速啟動一個Gin服務器的代碼如下 核心 ...
Golang天生適合運行在docker容器中,這得益於:Golang的靜態編譯,當在編譯的時候關閉cgo的時候,可以完全不依賴系統環境。 一些基礎 測試容器時我們經常需要進入容器查看運行情況,以下命令啟動一個centos容器並進入bash交互環境。 -it 組合參數-i: 以交互模式運行容器 ...
這里是golang拾遺系列的第三篇,前兩篇可以點擊此處鏈接跳轉: golang拾遺:為什么我們需要泛型 golang拾遺:指針和接口 今天我們要討論的是golang中的嵌入類型(embedding types),有時候也被叫做嵌入式字段(embedding fields)。 我們將會討論 ...
從golang誕生起是否應該添加泛型支持就是一個熱度未曾消減的議題。泛型的支持者們認為沒有泛型的語言是不完整的,而泛型的反對者們則認為接口足以取代泛型,增加泛型只會徒增語言的復雜度。雙方各執己見,爭執不下,直到官方最終確定泛型是go2的發展路線中的重中之重。 今天我們就來看看為什么我們需要泛型 ...
這是本系列的第一篇文章,golang拾遺主要是用來記錄一些遺忘了的、平時從沒注意過的golang相關知識。想做本系列的契機其實是因為疫情閑着在家無聊,網上沖浪的時候發現了zhuihu上的go語言愛好者周刊和Go 101,讀之如醍醐灌頂,受益匪淺,於是本系列的文章就誕生了。拾遺主要是收集 ...
微服務開發中服務間調用的主流方式有兩種HTTP、RPC,HTTP相對來說比較簡單。本文將使用 Resty 包來實現基於HTTP的微服務調用。 Resty簡介 Resty 是一個簡單的HTTP和REST客戶端工具包,簡單是指使用上非常簡單。Resty在使用簡單的基礎上提供了非常強大的功能,涉及到 ...
Gin除了模型綁定還提供了模型驗證功能。你可以給字段指定特定的規則標簽,如果一個字段用binding:"required"標簽修飾,在綁定時該字段的值為空,那么將返回一個錯誤。開發web api的時候大部分參數都是需要驗證的,比如email參數要驗證是否是郵箱格式、phone參數要驗證是否 ...
在前后端分離的項目維護一份完整且及時更新的api文檔會極大的提高我們的工作效率,傳統項目中接口文檔都是由后端開發手寫的,這種文檔很難保證及時性,久而久之便失去了參考意義。swagger給我們提供了一種新的維護文檔的方式,在gin中只需要編寫一些注釋即可生成一份可交互的接口文檔。 引入這些包之后 ...