不會成為web主流
目前創(chuàng)新互聯(lián)建站已為上千的企業(yè)提供了網站建設、域名、雅安服務器托管、綿陽服務器托管、企業(yè)網站設計、哈巴河網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
go是設計初衷來做系統(tǒng)應用和取代C++的....
目前主要用傳統(tǒng)編譯型語言編譯成機器碼的形式...
和web開發(fā)的跨平臺標準化等特性有距離...
會成為很方便系統(tǒng)應用開發(fā)、客戶端開發(fā)的語言...
Go語言由Google公司開發(fā),并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發(fā)編程,性能堪比C語言,開發(fā)效率肩比Python,被譽為“21世紀的C語言”。
Go語言在云計算、大數(shù)據(jù)、微服務、高并發(fā)領域應用應用非常廣泛。BAT大廠正在把Go作為新項目開發(fā)的首選語言。
Go語言能干什么?
1、服務端開發(fā):以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統(tǒng)、監(jiān)控系統(tǒng)等;
2、DevOps:運維生態(tài)中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發(fā);
3、網絡編程:大量優(yōu)秀的Web框架如Echo、Gin、Iris、beego等,而且Go內置的 net/http包十分的優(yōu)秀;
4、Paas云平臺領域:Kubernetes和Docker Swarm等;
5、分布式存儲領域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、區(qū)塊鏈領域:區(qū)塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;
7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實現(xiàn)的;
8、爬蟲及大數(shù)據(jù):Go語言天生支持并發(fā),所以十分適合編寫分布式爬蟲及大數(shù)據(jù)處理。
Revel Web開源框架
個高效的Go語言Web開發(fā)框架,?其思路完全來自 Java 的?Play Framework。
特點
熱編譯,簡單可選,同步(每個請求都創(chuàng)建自己的goroutine來處理。
Go語言Web框架:beego
一個用Go開發(fā)的應用框架,思路來自于tornado,路由設計來源于sinatra。
支持特性
MVC;
REST;
智能路由;
日志調試;
配置管理;
模板自動渲染;
layout設計;
中間件插入邏輯;
方便的JSON/XML服務;
適合。框架足夠成熟了 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真的非常方便,非常非??欤體eb項目golang scale成本低
如果你想,golang的部署可以比php更方便,使用go get和http.ServeAndListen()可以不用nginx和apache
對于文件改動重新編譯其實并不是大問題,看pilu/fresh · GitHub,其實你自己寫shell腳本(也可以直接用go寫,因為它本身就是系統(tǒng)語言)監(jiān)控文件系統(tǒng)改動然后自動重新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 挺有用。
go語言web框架beego安裝(go mod方式)_不忘初心,方得始終-CSDN博客
重要:將bee命令放到GOROOT/bin目錄下,這步很關鍵
cp bee /usr/local/go/bin/
注:或者可以將GOPATH/bin設置為環(huán)境變量
echo ’export PATH=" PATH"' ~/.bashrc
source ~/.bashrc
router路由下方法名要大寫,訪問權限
wq保存
生效環(huán)境變量: source /etc/profile
go build -o abc.exe可指定編譯后的文件名
Golang常用環(huán)境變量說明與設置詳解
環(huán)境變量GOBIN表示我們開發(fā)程序編譯后二進制命令的安裝目錄。
當我們使用go install命令編譯和打包應用程序時,該命令會將編譯后二進制程序打包GOBIN目錄,一般我們將GOBIN設置為GOPATH/bin目錄。
export GOBIN=$GOPATH/bin
Go get包管理mod
windows下默認項目路徑在go安裝目錄的src下(beego)