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