awesome-go :一個很全的go語言框架,庫,軟件合集
在咸豐等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,咸豐網(wǎng)站建設(shè)費(fèi)用合理。
前面發(fā)過關(guān)于awsone-python, awsone django, flask。最近在學(xué)習(xí)golang,所以找到awsone-go
由于內(nèi)容太多,這里只是列出主要的目錄,每一項下面又有很多內(nèi)容。具體詳細(xì)的內(nèi)容,請到官網(wǎng)查看。
github網(wǎng)址 ,
官網(wǎng) 。
1. os.Getwd()函數(shù)
原型:func Getwd()(pwd string, err error)
作用:獲取當(dāng)前文件路徑
返回:當(dāng)前文件路徑的字符串和一個err信息
示例:
輸出:
當(dāng)前路徑: D:ProjectsGomGoLab01
2. os.Getenv()函數(shù)
原型:func Getenv(key string) string
作用:獲取系統(tǒng)環(huán)境變量的值
參數(shù):key - 系統(tǒng)環(huán)境變量名
返回:系統(tǒng)環(huán)境變量的值
示例:
輸出:
環(huán)境變量GOPATH的值是: D:/Projects/Go
3. os.Chdir()函數(shù)
原型:func Chdir(dir string) error
作用:將當(dāng)前文件路徑改變?yōu)槟繕?biāo)路徑(非真實(shí)改變)
參數(shù):dir - 目標(biāo)路徑(即改變之后的路徑)
返回:修改成功,返回 nil;修改失敗(如:目標(biāo)路徑不存在的情況),返回錯誤信息。
示例一:
輸出:
起始路徑: D:ProjectsGomGoLab01
修改后的路徑: D:ProjectsGoDemo02
示例二:
輸出:
起始路徑: D:ProjectsGomGoLab01
error: chdir D:ProjectsGoDemo03: The system cannot find the file specified.
注:文件路徑,Window 系統(tǒng)下默認(rèn)是“”,寫在代碼中時要用“”或“/”代替。
Go語言由Google公司開發(fā),并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發(fā)編程,性能堪比C語言,開發(fā)效率肩比Python,被譽(yù)為“21世紀(jì)的C語言”。
Go語言在云計算、大數(shù)據(jù)、微服務(wù)、高并發(fā)領(lǐng)域應(yīng)用應(yīng)用非常廣泛。BAT大廠正在把Go作為新項目開發(fā)的首選語言。
Go語言應(yīng)用范圍:
1、服務(wù)端開發(fā):以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統(tǒng)、監(jiān)控系統(tǒng)等;
2、DevOps:運(yùn)維生態(tài)中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發(fā);
3、網(wǎng)絡(luò)編程:大量優(yōu)秀的Web框架如Echo、Gin、Iris、beego等,而且Go內(nèi)置的 net/http包十分的優(yōu)秀;
4、Paas云平臺領(lǐng)域:Kubernetes和Docker Swarm等;
5、分布式存儲領(lǐng)域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、區(qū)塊鏈領(lǐng)域:區(qū)塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;
7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實(shí)現(xiàn)的;
8、爬蟲及大數(shù)據(jù):Go語言天生支持并發(fā),所以十分適合編寫分布式爬蟲及大數(shù)據(jù)處理。
盡量不要使用ORM,簡單的數(shù)據(jù)庫交互是會省很多事。
但是一旦查詢語句越來越復(fù)雜,關(guān)聯(lián)表越來越多,當(dāng)你發(fā)現(xiàn)正在使用的ORM框架做不到時再換其他框架代價會很大。為什么有那么多框架?就是沒有一個框架能解決所有哪怕是大多數(shù)問題。
建議只使用數(shù)據(jù)庫驅(qū)動庫,database/sql庫,可以完成所有g(shù)o語言與數(shù)據(jù)庫的交互。
1、服務(wù)器編程:以前你如果使用C或者C++做的那些事情,用Go來做很合適,例如處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。
2、分布式系統(tǒng)、數(shù)據(jù)庫代理器、中間件:例如Etcd。
3、網(wǎng)絡(luò)編程:這一塊目前應(yīng)用最廣,包括Web應(yīng)用、API應(yīng)用、下載應(yīng)用,而且Go內(nèi)置的net/http包基本上把我們平常用到的網(wǎng)絡(luò)功能都實(shí)現(xiàn)了。
4、開發(fā)云平臺:目前國外很多云平臺在采用Go開發(fā),我們所熟知的七牛云、華為云等等都有使用Go進(jìn)行開發(fā)并且開源的成型的產(chǎn)品。
5、區(qū)塊鏈:目前有一種說法,技術(shù)從業(yè)人員把Go語言稱作為區(qū)塊鏈行業(yè)的開發(fā)語言。如果大家學(xué)習(xí)區(qū)塊鏈技術(shù)的話,就會發(fā)現(xiàn)現(xiàn)在有很多很多的區(qū)塊鏈的系統(tǒng)和應(yīng)用都是采用Go進(jìn)行開發(fā)的,比如ehtereum是目前知名度最大的公鏈,再比如fabric是目前最知名的聯(lián)盟鏈,兩者都有g(shù)o語言的版本,且go-ehtereum還是以太坊官方推薦的版本。
自1.0版發(fā)布以來,go語言引起了眾多開發(fā)者的關(guān)注,并得到了廣泛的應(yīng)用。go語言簡單、高效、并發(fā)的特點(diǎn)吸引了許多傳統(tǒng)的語言開發(fā)人員,其數(shù)量也在不斷增加。
使用 Go 語言開發(fā)的開源項目非常多。早期的 Go 語言開源項目只是通過 Go 語言與傳統(tǒng)項目進(jìn)行C語言庫綁定實(shí)現(xiàn),例如 Qt、Sqlite 等。
后期的很多項目都使用 Go 語言進(jìn)行重新原生實(shí)現(xiàn),這個過程相對于其他語言要簡單一些,這也促成了大量使用 Go 語言原生開發(fā)項目的出現(xiàn)。