能夠編譯go語言的編譯器
⑴ Go 語言到底適合干什麼
Go語言主要用作伺服器端開發,其定位是用來開發「大型軟體」的,適合於需要很多程序員一起開發,並且開發周期較長的大型軟體和支持雲計算的網路服務。
Go語言融合了傳統編譯型語言的高效性和腳本語言的易用性和富於表達性,不僅提高了項目的開發速度,而且後期維護起來也非常輕松。
編譯器
當前有兩個Go編譯器分支,分別為官方編譯器gc和gccgo。官方編譯器在初期使用C寫成,後用Go重寫從而實現自舉。Gccgo是一個使用標准GCC作為後端的Go編譯器。
官方編譯器支持跨平台編譯(但不支持CGO),允許將源代碼編譯為可在目標系統、架構上執行的二進制文件。
⑵ 如何用liteide編寫go語言
LiteIDE是一款專門為Go語言開發的跨平台輕量級集成開發環境(IDE),由QT編寫。LiteIDE主要特點:支持主流操作系統WindowslinuxMacOSXGo編譯環境管理和切換管理和切換多個Go編譯環境支持Go語言交叉編譯與Go標准一致的項目管理方式基於GOPAT
⑶ Go語言有什麼好用的IDE嗎
我喜歡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,引用直接../引用。
⑷ go語言編譯器有哪些官網
go語言編譯器官網:可以去DELVE官網進行下載。
谷歌資深軟體工程師羅布·派克(Rob Pike)表示,「Go讓我體驗到了從未有過的開發效率。」派克表示,和今天的C++或C一樣,Go是一種系統語言。他解釋道,「使用它可以進行快速開發,同時它還是一個真正的編譯語言,我們之所以現在將其開源,原因是我們認為它已經非常有用和強大。」
撰寫風格:
在Go中有幾項規定,當不匹配以下規定時編譯將會產生錯誤。
每行程序結束後不需要撰寫分號(;)。
大括弧({)不能夠換行放置。
if判斷式和for循環不需要以小括弧包覆起來。Go亦有內置gofmt工具,能夠自動整理代碼多餘的空白、變數名稱對齊、並將對齊空格轉換成Tab。
⑸ Go 是怎麼使用 Go 來編譯自身的
最早的go語言編譯器是使用c語言編寫的。編譯器在windows中其實就是一個.exe執行程序。後期,1.3版本之後google採用go語言來編寫go語言編譯器。所以就是go語言編譯自己了
⑹ phpstorm golang開發環境如何配置
首先從網上下載go語言的編譯器,我在發布這篇經驗的時候go語言編譯器的版本已經更新到了1.4版。根據你的系統平台下載相應的版本後,如果是壓縮文件,先解壓後雙擊運行,不是壓縮文件,直接雙擊運行就可以了,運行後出現下面的界面,在下面界面上單擊「Next」。
⑺ go語言編譯器有哪些linux系統
Go的三種安裝方式 Go有多種安裝方式,你可以選擇自己喜歡的。這里我們介紹三種最常見的安裝方式: Go源碼安裝:這是一種標準的軟體安裝方式。對於經常使用Unix類系統的用戶,尤其對於開發者來說,從源碼安裝可以自己定製。
⑻ go語言支持開發桌面級應用嗎(求個編譯器)
go 可以開發桌面應用,但並不是很舒適。
可以使用的GUI庫有:
1、goqt,LiteIDE作者出品,Go和QT的綁定,還未發布
2、go.uik,純Go實現的並發UI工具
3、walk,Windows Application Library Kit
4、gform,Windows GUI framework
目前的話walk用得比較多
不過go的GUI庫用起來沒有C#、C/C++的那麼順手。
這個問題不久之後應該會有所改善,畢竟用Go開發桌面的需求在不斷增加。
目前我採用的是用go http 做後端,Webkit+HTML5 做界面,表現力很好,前端不需要學習新知識,一般的管理類應用都能搞定。
⑼ GO語言是什麼語言我們應該怎麼學
Go語言是谷歌推出的一種全新的編程語言,可以在不損失應用程序性能的情況下降低代碼的復雜性。谷歌首席軟體工程師羅布派克(Rob Pike)說:我們之所以開發Go,是因為過去10多年間軟體開發的難度令人沮喪。
Go是谷歌2009發布的第二款編程語言。2009年7月份,谷歌曾發布了Simple語言,它是用來開發Android應用的一種BASIC語言.
北京時間2010年1月10日,Go語言摘得了TIOBE公布的2009年年度大獎。該獎項授予在2009年市場份額增長最多的編程語言。
谷歌資深軟體工程師羅布·派克(Rob Pike)表示,"Go讓我體驗到了從未有過的開發效率。"派克表示,今天的C++或C一樣,Go是一種系統語言。他解釋道,"使用它可以進行快速開發,同時它還是一個真正的編譯語言,我們之所以現在將其開源,原因是我們認為它已經非常有用和強大。"
2007年,谷歌把Go作為一個20%項目開始研發,即讓員工抽出本職工作之外時間的20%, 投入在該項目上。除了派克外,該項目的成員還有其他谷歌工程師也參與研發。
派克表示,編譯後Go代碼的運行速度與C語言非常接近,而且編譯速度非常快,就像在使用一個互動式語言。現有編程語言均未專門對多核處理器進行優化。Go就是谷歌工程師為這類程序編寫的一種語言。它不是針對編程初學者設計的,但學習使用它也不是非常困難。Go支持面向對象,而且具有真正的閉包(closures)和反射 (reflection)等功能。
在學習曲線方面,派克認為Go與Java類似,對於Java開發者來說,應該能夠輕松學會 Go。之所以將Go作為一個開源項目發布,目的是讓開源社區有機會創建更好的工具來使用該語言,例如 Eclipse IDE中的插件。
在谷歌公開發布的所有網路應用中,均沒有使用Go,但是谷歌已經使用該語言開發了幾個內部項目。派克表示,Go是否會對谷歌即將推出的Chrome OS產生影響,還言之尚早,不過Go的確可以和Native Client配合使用。他表示"Go可以讓應用完美的運行在瀏覽器內。"例如,使用Go可以更高效的實現Wave,無論是在前端還是後台。
Go 同時具有兩種編譯器,一種是建立在GCC基礎上的Gccgo,另外一種是分別針對64位x64和32位x86計算機的一套編譯器(6g和8g)。谷歌目前正在研發其對ARM晶元和Android設備的支持。派克表示,"Android手機存在的問題是,我們一直沒有一個數學協處理器。"
⑽ 為什麼不用Go語言寫單片機程序
單片機不像一些應用軟體,和硬體結合十分緊密,必須要求「高效」,所以匯編語言是最好選擇,其次就是C語言了。其他語言編譯效率都太低,滿足不了要求。