-
Golang 請求限速、排隊實現
概要 在調用第三方 API 的時候, 基本都有訪問限速的限制條件. 第三方的 API 有多個的時候, 就不太好控制訪問速度, 常常會導致 HTTP 429(Too Many Requests) 然后就會有一段時間的禁止訪問. 為了應對這種限速的情況, 通過一個簡單的請求隊列來控制訪問的速度, 之后基本沒遇到過 HTTP 429 了. 實現思路 首先, 每個請求包裝成一個?RequestParam?的 struct, 其中包含請求的地址,類型,參數以及 response 的 channel. 發送…
-
深入淺出標準庫 text/template 包
go 語言標準庫 text/template 在 web 編程項目中經常用到,本文詳細介紹了這個包的用法。 官方定義: Package template implements data-driven templates for generating textual output. template 包是數據驅動的文本輸出模板,其實就是在寫好的模板中填充數據。 模板 什么是模板? 下面是一個簡單的模板示例: {{ 和 }} 中間的句號?.?代表傳入模板的數據,根據傳入的數據不同渲染不同的內容。 .…