學完了 net/http 和 fasthttp 兩個HTTP協議接口的客戶端實現,接下來就要開始Server的開發,不學不知道一學嚇一跳,居然這兩個庫還支持Server的開發,太方便了。
創新互聯建站主營香洲網站建設的網絡公司,主營網站建設方案,app軟件開發公司,香洲h5微信平臺小程序開發搭建,香洲網站營銷推廣歡迎香洲等地區企業咨詢
相比于Java的HTTPServer開發基本上都是使用Spring或者Springboot框架,總是要配置各種配置類,各種 handle 對象。Golang的Server開發顯得非常簡單,就是因為特別簡單,或者說沒有形成特別統一的規范或者框架,我發現了很多實現方式,HTTP協議基于還是 net/http 和 fasthttp ,但是 handle 語法就多種多樣了。
先復習一下: Golang語言HTTP客戶端實踐 、 Golang fasthttp實踐 。
在Golang語言方面,實現某個功能的庫可能會比較多,有機會還是要多跟同行交流,指不定就發現了更好用的庫。下面我分享我學到的六種Server開發的實現Demo。
基于 net/http 實現,這是一種比較基礎的,對于接口和 handle 映射關系處理并不優雅,不推薦使用。
第二種也是基于 net/http ,這種編寫語法可以很好地解決第一種的問題,handle和path有了類似配置的語法,可讀性提高了很多。
第三個基于 net/http 和 github.com/labstack/echo ,后者主要提供了 Echo 對象用來處理各類配置包括接口和handle映射,功能很豐富,可讀性最佳。
第四種依然基于 net/http 實現,引入了 github.com/gin-gonic/gin 的路由,看起來接口和 handle 映射關系比較明晰了。
第五種基于 fasthttp 開發,使用都是 fasthttp 提供的API,可讀性尚可,handle配置倒是更像Java了。
第六種依然基于 fasthttp ,用到了 github.com/buaazp/fasthttprouter ,有點奇怪兩個居然不在一個GitHub倉庫里。使用語法跟第三種方式有點類似,比較有條理,有利于閱讀。
Go語言由Google公司開發,并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發編程,性能堪比C語言,開發效率肩比Python,被譽為“21世紀的C語言”。
Go語言在云計算、大數據、微服務、高并發領域應用應用非常廣泛。BAT大廠正在把Go作為新項目開發的首選語言。
Go語言能干什么?
1、服務端開發:以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統、監控系統等;
2、DevOps:運維生態中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發;
3、網絡編程:大量優秀的Web框架如Echo、Gin、Iris、beego等,而且Go內置的 net/http包十分的優秀;
4、Paas云平臺領域:Kubernetes和Docker Swarm等;
5、分布式存儲領域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、區塊鏈領域:區塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;
7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實現的;
8、爬蟲及大數據:Go語言天生支持并發,所以十分適合編寫分布式爬蟲及大數據處理。
一般我們用Golang原生寫Web時,一般這樣寫
如果需要特定的GET,POST,PUT,DELETE處理. 我們需要這樣寫.
對以上方法操作進行了封裝.
不過最后還是推薦使用httprouter, 大名頂頂的Gin Web框架就是使用這個的. 自己寫的,純屬學習.
通過beego快速創建一個Restful風格API項目及API文檔自動化:
Go 語言構建 RESTful Web 服務:
Golang中使用 JWT認證來 保障Restful JSON API的安全(英文):
polaris: 一個用go實現的支持restful的web框架:
關于RESTFUL API 安全認證方式的一些總結:
有沒有人用golang實現過restful框架的實例:
Micro 一個用Go語言實現的微服務框架:
基于微服務庫的可插拔RPC go-micro:
golang適合做web開發嗎?:
a-survey-of-5-go-web-frameworks:
Ozzo Framework:
avelino/awesome-go:
Beego Framework:
golang其實不適合做web開發:
Go語言現有Web開發框架:
使用Golang快速構建WEB應用:
Martini 極好的 Go WEB 框架:
golang 有哪些比較穩定的 web 開發框架?:
網站名稱:go語言常見http框架的簡單介紹
文章URL:http://m.newbst.com/article44/hsepee.html
成都網站建設公司_創新互聯,為您提供網站營銷、自適應網站、網站設計、、商城網站、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯