回覆列表
  • 1 # Kokrt

    我喜歡jetbrains系列的IDE+go外掛。不過我要說的是這個問題主要看你的觀點如何。

    說eclipse:

    構建方式是使用go install 命令,每一次編譯執行都是go install。這樣的好處就是如果你有很多的包,下載下來並沒有編譯,這樣每次編譯速度是很快的。而且(!)go install 符合go官方的專案結構,官方說過了,一個go的專案應該是以個gopath,包含src,pkg,bin三個主要目錄。所以說go install個人認為才是主要的go編譯方式。

    說eclipse的缺點:

    其實eclipse外掛的go編譯方式,還有目錄結構,專案結構,都是非常完美的!!!!真的很完美!可是,他的程式碼提示,太差件!大括號都不能自動補全,gdb 32bit 64bit相容問題,eclipseC++ 沒有html js外掛,需要手動安裝,幾乎不能開箱即用。不過如果你是開發演算法,資料處理,還是推薦eclipse的,畢竟其他都無關緊要。

    說jetbrains:

    說先說clione肯定不適合,新建專案沒有嚮導,導致改成go專案各種不開心,比如圖示對於我來說就無法接受go lib 不是小耗子~這是次要的,重要的是各個檔案都是灰色的(沒有在cmake中包含的結果),然後說剩下的,phpstorm這個不說了,估計很少有人外掛按在這裡,webstorm,體驗也不是很好,idea?體驗很好,可是畢竟比較重,尤其是現在加入了自家的K啥玩意(無意冒犯,沒記住單詞)~可是話說回來,go跟C系列IDE配合才是最佳,跟java系列一點不搭關係,用idea似乎有點格格不入,但是!idea支援新建專案嚮導,lib的圖示也很清晰,最後還是選擇idea吧,期待clion的強大起來!

    再說jetbrains系列缺點:

    外掛的構建方式是go buiild 這個讓人很不爽,我們幾乎不確定會構建到什麼地方去,還要每次設定一下run配置。這個可能無關緊要,畢竟不是什麼大的毛病,可是go build不能快取.a檔案,直接構建的結果就是很多第三方包的情況下很慢!所以建議安裝包的時候手動install 一下解決這個問題。自帶程式碼格式化,這個格式化跟go 格格不入,總的來說就是蛋疼,心碎,菊花癢。

    最後說liteIDE:

    輕量級IDE,我可以說是華人GO偉大作品典範,然而預設構建也是go build,專案管理方式不符合go官方標準。程式碼提示不能自動匯入(eclipse也不能),不過如果你的專案是以包為單位的,那麼另當別論。一定很不錯,畢竟是輕量級專門針對GO的IDE!

    說這些,其實還有很大一部分取決於你的專案是用vendor機制管理,還是godeps機制管理依賴關係。go不像java擁有強大的幾乎天下一統的maven(無意冒犯,暫不評價其他構建套件)。

    go沒有官方包倉庫。

    go沒有官方包管理工具。

    go沒有官方自動化構建套件。

    上面三個沒有是致命要害。導致民間各種百花齊放。

    說說我的專案怎麼管理

    gpm 一個shell工具(windows下你可以用git的bash,或者cygwin~)

    我是嚴格豔照官方推薦方式管理go專案,一個go專案一個gopath。系統的gopath只是為了安裝go命令,我沒有配置gobin,意義不大。

    專案的依賴跟我的程式碼包都在src下(非vendor)

    vendor用來存放包的特殊依賴,釋出專案直接把依賴包釋出上去(公網管理則只上傳依賴關係檔案 godeps檔案)

    資原始檔等都放在src目錄同級,編譯檔案放在bin,引用直接../引用。

  • 2 # 小小猿愛嘻嘻

    Go語言的GUI開發庫其實非常多,有原生態的ui,也有介面的gtk、wxWidgets,下面我簡單介紹一下,感興趣的朋友可以自己嘗試一下:

    ui

    這是GO語言一個原生態的GUI開發庫,可以跨平臺使用,API簡單,充分體現了Go語言的特性,對於想開發簡單桌面GUI的朋友來說,非常適合,很容易學習和掌握,GitHub地址https://github.com/andlabs/ui,如下:

    安裝的話,直接在終端輸入命令“go get github.com/andlabs/ui”就行,安裝完成後,就可以直接編寫程式碼進行測試了,官方原始碼也自帶了examples簡單示例,可供初學者參考學習,如下:

    可以直接檢視Demo示例原始碼,如下:

    程式執行效果如下,比較簡譜:

    go-gtk

    這是GTK的GO介面,藉助於GTK強大的元件,GO語言也可以快速開發出GUI程式,而且可以跨平臺使用,GitHub地址https://github.com/mattn/go-gtk/,如下:

    安裝的話,也直接在終端輸入命令“go get github.com/mattn/go-gtk/gtk”就行,之後就可以直接編寫程式碼了,官網原始碼也自帶了example示例,非常豐富,如下

    對應原始碼也可以直接檢視,如下:

    相關程式執行效果如下,也比較簡譜:

    wxGO

    這是wxWidgets的GO介面,可以跨平臺使用,元件和功能都比較強大,藉助於wxWidgets,GO語言也可以快速開發出桌面GUI程式,GitHub地址https://github.com/dontpanic92/wxGo,如下:

    安裝的話,也可以直接輸入命令“go get github.com/dontpanic92/wxGo/wx”,不過下載比較慢,容易失敗,這裡建議下載到本地,再複製到$GOPATH目錄下安裝,官方也自帶有簡單的入門示例,在examples目錄中,如下:

    也可以直接檢視原始碼,如下:

    程式執行效果如下,也很不錯:

    至此,我們就介紹完了GO語言這3個GUI庫的安裝和簡單使用。總的來說,這3個庫使用起來都非常簡單,官網GitHub上也有詳細教程和資料,只要你熟悉一下,很快就能掌握使用的,對於日常開發簡單的桌面GUI來說,完全夠用了,但如果需要開發大型桌面GUI程式的話,建議還是使用其他語言,像C++,C#等,更方便,效率也更高,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

  • 中秋節和大豐收的關聯?
  • 在你最低谷的時候離開你的女人,算不算好女人?可以分析一下嗎?