go語(yǔ)言linux go語(yǔ)言linux編譯器

golang編譯linux失敗

文件權(quán)限的問(wèn)題。golang編譯linux失敗多數(shù)是文件權(quán)限的問(wèn)題導(dǎo)致。golang又稱(chēng)go語(yǔ)言是一種靜態(tài)強(qiáng)類(lèi)型、編譯型語(yǔ)言,是一個(gè)開(kāi)源編程環(huán)境,可以輕松構(gòu)建簡(jiǎn)單、可靠和高效的軟件。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的慶云網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

GO語(yǔ)言如何編譯發(fā)布到Linux

在命令行執(zhí)行如下指令

SET CGO_ENABLED=0

SET GOOS=linux

SET GOARCH=amd64

go build main.go? //開(kāi)始編譯程序

如何為L(zhǎng)inux安裝Go語(yǔ)言

1.1 Go 安裝

Go的三種安裝方式

Go有多種安裝方式,你可以選擇自己喜歡的。這里我們介紹三種最常見(jiàn)的安裝方式:

Go源碼安裝:這是一種標(biāo)準(zhǔn)的軟件安裝方式。對(duì)于經(jīng)常使用Unix類(lèi)系統(tǒng)的用戶(hù),尤其對(duì)于開(kāi)發(fā)者來(lái)說(shuō),從源碼安裝可以自己定制。

Go標(biāo)準(zhǔn)包安裝:Go提供了方便的安裝包,支持Windows、Linux、Mac等系統(tǒng)。這種方式適合快速安裝,可根據(jù)自己的系統(tǒng)位數(shù)下載好相應(yīng)的安裝包,一路next就可以輕松安裝了。**推薦這種方式**

第三方工具安裝:目前有很多方便的第三方軟件包工具,例如Ubuntu的apt-get、Mac的homebrew等。這種安裝方式適合那些熟悉相應(yīng)系統(tǒng)的用戶(hù)。

最后,如果你想在同一個(gè)系統(tǒng)中安裝多個(gè)版本的Go,你可以參考第三方工具GVM,這是目前在這方面做得最好的工具,除非你知道怎么處理。

Go源碼安裝

在Go的源代碼中,有些部分是用Plan 9 C和ATT匯編寫(xiě)的,因此假如你要想從源碼安裝,就必須安裝C的編譯工具。

在Mac系統(tǒng)中,只要你安裝了Xcode,就已經(jīng)包含了相應(yīng)的編譯工具。

在類(lèi)Unix系統(tǒng)中,需要安裝gcc等工具。例如Ubuntu系統(tǒng)可通過(guò)在終端中執(zhí)行sudo apt-get install gcc

libc6-dev來(lái)安裝編譯工具。

在Windows系統(tǒng)中,你需要安裝MinGW,然后通過(guò)MinGW安裝gcc,并設(shè)置相應(yīng)的環(huán)境變量。

你可以直接去官網(wǎng)下載源碼,找相應(yīng)的goVERSION.src.tar.gz的文件下載,下載之后解壓縮到$HOME目錄,執(zhí)行如下代碼:

cd go/src

./all.bash

運(yùn)行all.bash后出現(xiàn)"ALL TESTS PASSED"字樣時(shí)才算安裝成功。

上面是Unix風(fēng)格的命令,Windows下的安裝方式類(lèi)似,只不過(guò)是運(yùn)行all.bat,調(diào)用的編譯器是MinGW的gcc。

如果是Mac或者Unix用戶(hù)需要設(shè)置幾個(gè)環(huán)境變量,如果想重啟之后也能生效的話(huà)把下面的命令寫(xiě)到.bashrc或者.zshrc里面,

export GOPATH=$HOME/gopath

export PATH=$PATH:$HOME/go/bin:$GOPATH/bin

go語(yǔ)言要求linux精通哪些東西

Go 生態(tài)系統(tǒng)

學(xué)習(xí)基本上相當(dāng)直接的。我們之前在 C/C++/Java/Objective-C/PHP 的經(jīng)驗(yàn)讓我們學(xué)習(xí) Go 相當(dāng)快,并且在幾天內(nèi)就開(kāi)始開(kāi)發(fā)了。當(dāng)然會(huì)有一些新的和不常見(jiàn)的東西需要學(xué)習(xí),包括 GOPATH 還有如何處理包,但這在我們的預(yù)期之內(nèi)。

幾天之內(nèi),我們意識(shí)到即使是一個(gè)以簡(jiǎn)化為設(shè)計(jì)目的的語(yǔ)言,Go 也是非常強(qiáng)大的。它能夠做任何現(xiàn)代編程語(yǔ)言應(yīng)該能做的事:能夠處理 JSON、服務(wù)器之間通訊甚至訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)也沒(méi)問(wèn)題(并且只需要幾行代碼)。

在構(gòu)建一個(gè)服務(wù)器時(shí),你應(yīng)該首先決定是否使用任何第三方庫(kù)或者框架。對(duì)于 Bugfender,我們決定使用:

Martini

Martini 是一個(gè)強(qiáng)大的 Go 的 web 框架。我們開(kāi)始這個(gè)實(shí)驗(yàn)時(shí),它是一個(gè)很棒的解決方案,至今也是,我們還沒(méi)遇到任何問(wèn)題。然而如果我們今天再次開(kāi)始這個(gè)實(shí)驗(yàn)的話(huà),我們會(huì)選擇一個(gè)不同的框架,因?yàn)?Martini 不在維護(hù)了。

Gorm

有些人喜歡 ORM,而有些人則不喜歡。我們決定使用 ORM,更確切地說(shuō)是 GORM。我們的實(shí)現(xiàn)只針對(duì) web 前端,對(duì)于日志提取 API 仍然繼續(xù)使用手工優(yōu)化的 SQL。在一開(kāi)始,我們確實(shí)很喜歡它,但是隨著時(shí)間的推移,我們開(kāi)始發(fā)現(xiàn)問(wèn)題,并且我們很快將它從代碼中完全移除,并且使用 sqlx 這個(gè)標(biāo)準(zhǔn) SQL 庫(kù)。

GORM 的一個(gè)主要問(wèn)題是 Go 的生態(tài)系統(tǒng)。作為一個(gè)新語(yǔ)言,自我們開(kāi)始開(kāi)發(fā)產(chǎn)品以來(lái) Go 已經(jīng)有很多新版本。在這些新版本中的一些改變并不向后兼容,因此要使用最新的庫(kù)版本,我們要經(jīng)常重寫(xiě)已有代碼并檢查我們?yōu)榻鉀Q版本問(wèn)題所做的 hack。

分享文章:go語(yǔ)言linux go語(yǔ)言linux編譯器
轉(zhuǎn)載來(lái)源:http://muchs.cn/article20/ddiieco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、商城網(wǎng)站、網(wǎng)站維護(hù)網(wǎng)站改版、Google、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司