我喜歡jetbrains系列的IDE+go插件。不過(guò)我要說(shuō)的是這個(gè)問(wèn)題主要看你的觀點(diǎn)如何。
成都創(chuàng)新互聯(lián)公司專注于修文企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城建設(shè)。修文網(wǎng)站建設(shè)公司,為修文等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
說(shuō)eclipse:
構(gòu)建方式是使用go install 命令,每一次編譯運(yùn)行都是go install。這樣的好處就是如果你有很多的包,下載下來(lái)并沒有編譯,這樣每次編譯速度是很快的。而且(?。ゞo install 符合go官方的項(xiàng)目結(jié)構(gòu),官方說(shuō)過(guò)了,一個(gè)go的項(xiàng)目應(yīng)該是以個(gè)gopath,包含src,pkg,bin三個(gè)主要目錄。所以說(shuō)go install個(gè)人認(rèn)為才是主要的go編譯方式。
說(shuō)eclipse的缺點(diǎn):
其實(shí)eclipse插件的go編譯方式,還有目錄結(jié)構(gòu),項(xiàng)目結(jié)構(gòu),都是非常完美的?。。。≌娴暮芡昝?!可是,他的代碼提示,太差件!大括號(hào)都不能自動(dòng)補(bǔ)全,gdb 32bit 64bit兼容問(wèn)題,eclipseC++ 沒有html js插件,需要手動(dòng)安裝,幾乎不能開箱即用。不過(guò)如果你是開發(fā)算法,數(shù)據(jù)處理,還是推薦eclipse的,畢竟其他都無(wú)關(guān)緊要。
說(shuō)jetbrains:
說(shuō)先說(shuō)clione肯定不適合,新建項(xiàng)目沒有向?qū)?,?dǎo)致改成go項(xiàng)目各種不開心,比如圖標(biāo)對(duì)于我來(lái)說(shuō)就無(wú)法接受go lib 不是小耗子~這是次要的,重要的是各個(gè)文件都是灰色的(沒有在cmake中包含的結(jié)果),然后說(shuō)剩下的,phpstorm這個(gè)不說(shuō)了,估計(jì)很少有人插件按在這里,webstorm,體驗(yàn)也不是很好,idea?體驗(yàn)很好,可是畢竟比較重,尤其是現(xiàn)在加入了自家的K啥玩意(無(wú)意冒犯,沒記住單詞)~可是話說(shuō)回來(lái),go跟C系列IDE配合才是最佳,跟java系列一點(diǎn)不搭關(guān)系,用idea似乎有點(diǎn)格格不入,但是!idea支持新建項(xiàng)目向?qū)В琹ib的圖標(biāo)也很清晰,最后還是選擇idea吧,期待clion的強(qiáng)大起來(lái)!
再說(shuō)jetbrains系列缺點(diǎn):
插件的構(gòu)建方式是go buiild 這個(gè)讓人很不爽,我們幾乎不確定會(huì)構(gòu)建到什么地方去,還要每次設(shè)置一下run配置。這個(gè)可能無(wú)關(guān)緊要,畢竟不是什么大的毛病,可是go build不能緩存.a文件,直接構(gòu)建的結(jié)果就是很多第三方包的情況下很慢!所以建議安裝包的時(shí)候手動(dòng)install 一下解決這個(gè)問(wèn)題。自帶代碼格式化,這個(gè)格式化跟go 格格不入,總的來(lái)說(shuō)就是蛋疼,心碎,菊花癢。
最后說(shuō)liteIDE:
輕量級(jí)IDE,我可以說(shuō)是國(guó)人GO偉大作品典范,然而默認(rèn)構(gòu)建也是go build,項(xiàng)目管理方式不符合go官方標(biāo)準(zhǔn)。代碼提示不能自動(dòng)導(dǎo)入(eclipse也不能),不過(guò)如果你的項(xiàng)目是以包為單位的,那么另當(dāng)別論。一定很不錯(cuò),畢竟是輕量級(jí)專門針對(duì)GO的IDE!
說(shuō)這些,其實(shí)還有很大一部分取決于你的項(xiàng)目是用vendor機(jī)制管理,還是godeps機(jī)制管理依賴關(guān)系。go不像java擁有強(qiáng)大的幾乎天下一統(tǒng)的maven(無(wú)意冒犯,暫不評(píng)價(jià)其他構(gòu)建套件)。
go沒有官方包倉(cāng)庫(kù)。
go沒有官方包管理工具。
go沒有官方自動(dòng)化構(gòu)建套件。
上面三個(gè)沒有是致命要害。導(dǎo)致民間各種百花齊放。
說(shuō)說(shuō)我的項(xiàng)目怎么管理
gpm 一個(gè)shell工具(windows下你可以用git的bash,或者cygwin~)
我是嚴(yán)格艷照官方推薦方式管理go項(xiàng)目,一個(gè)go項(xiàng)目一個(gè)gopath。系統(tǒng)的gopath只是為了安裝go命令,我沒有配置gobin,意義不大。
項(xiàng)目的依賴跟我的代碼包都在src下(非vendor)
vendor用來(lái)存放包的特殊依賴,發(fā)布項(xiàng)目直接把依賴包發(fā)布上去(公網(wǎng)管理則只上傳依賴關(guān)系文件 godeps文件)
資源文件等都放在src目錄同級(jí),編譯文件放在bin,引用直接../引用。
Fyne 是一個(gè) Go 語(yǔ)言開發(fā)的易用的 UI工具包,提供基于 OpenGL 的跨平臺(tái)圖形界面應(yīng)用開發(fā)支持。
示例代碼:
示例效果:
完整的工具包:
淺色主題:
點(diǎn)擊下方鏈接,獲取軟件下載地址↓↓↓
Fyne首頁(yè)、文檔和下載 - Go 的 GUI 框架開發(fā)包 - 開源中國(guó)
第一種:LiteIDE
LiteIDE是一個(gè)簡(jiǎn)單的開源IDE,值得注意的是,它是GO語(yǔ)言2012年正式版發(fā)布的首個(gè)IDE,由Qt開發(fā),它看起來(lái)類似于Visual Studio等其他編譯器。
由于它是為golang設(shè)計(jì)的,LiteIDE為開發(fā)人員提供了許多有用的功能,包括可配置的構(gòu)建命令,高級(jí)代碼編輯器和廣泛的golang支持。其他功能包括代碼管理、gdb、Delve調(diào)試器、自動(dòng)完成和使用WordApi的主題,基于MIME類型的系統(tǒng)等。
第二種:VS Code
它是微軟開發(fā)的廣受歡迎的開源IDE,有一個(gè)開箱即用的go擴(kuò)展可供VS Code使用。VS Code插件為開發(fā)人員提供了很多功能,包括與許多go工具集成。
VS Code通過(guò)IntelliSense,內(nèi)置git集成,直接從編譯器調(diào)試代碼等功能提供智能完成功能;VS Code具有高度可擴(kuò)展性,并通過(guò)其許多擴(kuò)展提供了許多自定義選項(xiàng),還提供了幾十種語(yǔ)言的支持,成為受開發(fā)者歡迎的工具。
第三種:Atom
開發(fā)人員可以利用這個(gè)Atom IDE改進(jìn)的語(yǔ)言集成與更智能的編輯器。開源的go-plus軟件包使開發(fā)人員更容易在GO中進(jìn)行編程。
Atom和go-plus軟件包為golang提供工具,構(gòu)建流程,linters、vet和coverage工具的支持;其他功能包括自動(dòng)完成、格式化、測(cè)試和文檔。
第四種:Vim
Vim有許多插件可以幫助開發(fā)人員更輕松地編輯他們的GO代碼;Vim-go插件自動(dòng)安裝所有必要的東西,為Vim中的GO開發(fā)人員提供更平滑的集成。
Vim-go具有許多有用的功能,包括編譯器,改進(jìn)的語(yǔ)法高亮和折疊,完成支持以及一系列具有集成支持的調(diào)試程序。還有一些使用的高級(jí)源分析工具,包括GoImplements、GoCallees和GoReferrers。