A. golang適合做web開發嗎
適合。框架足夠成熟了 A Survey of 5 Go Web Frameworks
小型項目你甚至不用框架,用net/http http - The Go Programming Language
常用庫也成熟了 Top - Go Search
golang的web後端即使不concurrent也比php,ruby,python快很多很多
golang里用concurrent真的非常方便,非常非常快,超大web項目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
對於文件改動重新編譯其實並不是大問題,看pilu/fresh · GitHub,其實你自己寫shell腳本(也可以直接用go寫,因為它本身就是系統語言)監控文件系統改動然後自動重新build,即使是C/C++的項目這也不是大問題,人們不用C/C++寫web是因為它們不是寫web app的最佳選擇
golang寫的代碼編譯通過後,要比scripting language魯棒,因為go compiler強制一些最佳實踐
所以如果你熟悉go或者願意投資時間,這是一種很值得用的語言,如果你不熟悉而且項目周期很緊,還是建議你用自己最熟悉的語言,學go本身需要花時間的。
我最近一個web項目是用Gorilla寫的,也是邊學邊做 Gorilla, the golang web toolkit;這個Go by Example 挺有用。
B. golang web有必要容器化嗎
有必要。
對於運行我們應用程序的主機,不管是筆記本電腦還是web伺服器,我們唯一需要做的就是運行一個docker容器平台。從以後,你就不需要擔心你使用的是MacOS,Ubuntu,Arch還是其他。你只需定義一次應用,即可隨時隨地運行。
C. 學習golang,以後做web網站用哪個go版本好
版本看需要,可以用最新版本,也可以用老版本,還要看你用的web框架支持什麼版本的,如果用原生的話,就隨意了
D. golang 有哪些比較穩定的 web 開發框架
第一個:Beego框架
Beego框架是astaxie的GOWeb開發的開源框架。Beego框架最大的特點是由八個大的基礎模塊組成,八大基礎模塊的特點是可以根據自己的需要進行引入,模塊相互獨立,模塊之間耦合性低。
相應的Beego的缺點就是全部使用時比較臃腫,通過bee工具來構建項目時,直接生成項目目錄和耦合關系,從而會導致在項目開發過程中受制性較大。
第二個:Gin框架
Gin是一個GOlang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本;具有快速靈活、容錯方便等特點,其實對於golang而言,web框架的依賴遠比Python、Java更小。
目前在很多使用golang的中小型公司中進行業務開發,使用Gin框架的很多,大家如果想使用golang進行熟練Web開發,可以多關注一下這個框架。
第三個:Iris框架
Iris框架在其官方網站上被描述為GO開發中最快的Web框架,並給出了多框架和多語言之前的性能對比。目前在github上,Iris框架已經收獲了14433個star和1493個fork,可見是非常受歡迎的。
在實際開發中,Iris框架與Gin框架的學習曲線幾乎相同,所以掌握了Gin就可以輕松掌握Iris框架。
第四個:Echo框架
也是golang的微型Web框架,其具備快速HTTP路由器、支持擴展中間件,同時還支持靜態文件服務、Websocket以及支持制定綁定函數,制定相應渲染函數,並允許使用任意的HTML模版引擎。
E. Go語言做Web應用開發的框架,哪一個更適合入門
Revel Web開源框架
個高效的Go語言Web開發框架,其思路完全來自 Java 的Play Framework。
特點
熱編譯,簡單可選,同步(每個請求都創建自己的goroutine來處理。
Go語言Web框架:beego
一個用Go開發的應用框架,思路來自於tornado,路由設計來源於sinatra。
支持特性
MVC;
REST;
智能路由;
日誌調試;
配置管理;
模板自動渲染;
layout設計;
中間件插入邏輯;
方便的JSON/XML服務;
F. 如何構建一個高效的 golang web 開發環境,golang go run watch
好的測試應該是先按照函數來測。
比如你有一個包,下面有一個文件叫a.go,函數寫在裡面,你要先測試函數是否是對的,你要建一個a_test.go來測,好的IDE也很重要。
如果你要看的是Web端的界面渲染效果,那隻能是重新go run。
不然,你要自己寫個CLI工具,自動監聽你的文件變化,變化了就重新Run。文件變化,一般都是記錄其文件HASH,如果有文件HASH變化了,那程序自動幫你go run 。
建議參考beego框架的bee工具。
G. 關於golang寫的web服務,大家都是怎麼調試的
一個方法是fmt打trace,另一方面可以寫test 程序。
H. golang web 瀏覽器每請求一次 golang是啟動一個新的線程嗎
是協程,每一個請求都會單獨啟動一個 goroutine,可以理解為輕量級線程
I. golang做web網站,對比php python java nodejs等有什麼優勢
站長這個網站,點擊鏈接後,感覺頁面切換速度很快。是跟伺服器線路配置有關,還是跟golang語言有關,還是跟mongodb資料庫有關。
如果用golang做douban.com,或tianya.cn,或網路知道,貼吧,網路等,會有什麼不穩定不確定不成熟的地方嗎。
站長對比自己用過的語言,對golang以後的前景如何看待,特別在動態web開發方面。能獨領風騷未來三十年嗎。
J. 大家覺得用Go做WEB有必要用框架嗎
第一個:Beego框架
Beego框架是astaxie的GOWeb開發的開源框架。Beego框架最大的特點是由八個大的基礎模塊組成,八大基礎模塊的特點是可以根據自己的需要進行引入,模塊相互獨立,模塊之間耦合性低。
相應的Beego的缺點就是全部使用時比較臃腫,通過bee工具來構建項目時,直接生成項目目錄和耦合關系,從而會導致在項目開發過程中受制性較大。
第二個:Gin框架
Gin是一個GOlang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本;具有快速靈活、容錯方便等特點,其實對於golang而言,web框架的依賴遠比Python、Java更小。
目前在很多使用golang的中小型公司中進行業務開發,使用Gin框架的很多,大家如果想使用golang進行熟練Web開發,可以多關注一下這個框架。
第三個:Iris框架
Iris框架在其官方網站上被描述為GO開發中最快的Web框架,並給出了多框架和多語言之前的性能對比。目前在github上,Iris框架已經收獲了14433個star和1493個fork,可見是非常受歡迎的。
在實際開發中,Iris框架與Gin框架的學習曲線幾乎相同,所以掌握了Gin就可以輕松掌握Iris框架。
第四個:Echo框架
也是golang的微型Web框架,其具備快速HTTP路由器、支持擴展中間件,同時還支持靜態文件服務、Websocket以及支持制定綁定函數,制定相應渲染函數,並允許使用任意的HTML模版引擎。