欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語(yǔ)言安裝開(kāi)發(fā)環(huán)境 centos安裝go編譯環(huán)境

phpstorm golang開(kāi)發(fā)環(huán)境如何配置

golang 有編輯器可以用 如國(guó)人開(kāi)發(fā)的liteide,或者sublimetext、vim、emacs,為什么一定要用phpstorm?如果你只是做php開(kāi)發(fā),phpstorm很不錯(cuò),如果用golang來(lái)開(kāi)發(fā),phpstorm 并不合適

創(chuàng)新互聯(lián)專(zhuān)注于臨滄企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。臨滄網(wǎng)站建設(shè)公司,為臨滄等地區(qū)提供建站服務(wù)。全流程按需開(kāi)發(fā),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

如何配置go語(yǔ)言開(kāi)發(fā)環(huán)境

下載go的zip文件。并且一定要把文件解壓到c:\go目錄下。2、配置windows的高級(jí)環(huán)境變量。包括:GOROOT、GOOS、GOBIN、GOARCH。并且在path變量里面把c:\go\bin加入。以便可以在命令行直接運(yùn)行g(shù)o命令。

ubuntu下怎么配置go語(yǔ)言開(kāi)發(fā)環(huán)境

具體步驟:

1、去官網(wǎng)下載go1.1.2的tarball,一般下載到tem目錄

2、打開(kāi)終端cd /usr/local, tar -zxvf go1.1.2.linux-386.tar.gz

將源碼文件解壓縮到/usr/local目錄,如果解壓到其他目錄,需要自己設(shè)置GOROOT

3、安裝gcc工具,因?yàn)間olang有些功能是使用c寫(xiě)

sudo apt-get install bison gawk gcc libc6-dev make

4、$ cd go/src,$ ./all.bash

運(yùn)行bash腳本,如果運(yùn)行正常會(huì)獲得你的操作系統(tǒng)和cpu信息,自動(dòng)編譯安裝

5、將export PATH=$PATH:/usr/local/go/bin 寫(xiě)入$HOME/.profile

最后進(jìn)行測(cè)試輸入go version 會(huì)顯示go1.1.2 linux/386

如何在Windows下安裝Go語(yǔ)言編程環(huán)境

下載安裝包

安裝包下載地址:golang.org/dl/

這里選擇下載Windows版本,點(diǎn)擊鏈接打開(kāi)的頁(yè)面可能不會(huì)開(kāi)始下載;地址欄里會(huì)顯示完整的下載地址,如:golang.org/doc/install?download=go1.5.1.windows-amd64.msi,不開(kāi)始下載也沒(méi)關(guān)系,我們復(fù)制一下下載地址,用迅雷之類(lèi)的下載工具下。

開(kāi)始安裝

一路下一步就行了,沒(méi)什么需要設(shè)置的,安裝目錄最好保持默認(rèn),避免遇到一些怪問(wèn)題。

安裝完成之后就可以打開(kāi)命令行,看看安裝成功了沒(méi)有;

任意目錄下,直接執(zhí)行“go”,能看到類(lèi)似以下內(nèi)容就對(duì)了:

或者執(zhí)行:

[plain] view plain copy

C:\go?version

go?version?go1.5.1?windows/amd64

注意:我在安裝完成之后執(zhí)行“go”的時(shí)候就提示找不到文件或目錄,我打開(kāi)環(huán)境變量,在用戶(hù)變量里加了一個(gè)PATH,

檢查系統(tǒng)變量“PATH”中也有“C:\Go\bin”,然后就在后面加了一個(gè)分號(hào),確定保存之后再打開(kāi)命令行就可以了,也不知道到底是哪個(gè)起作用了。

linux下怎么安裝Go開(kāi)發(fā)環(huán)境

一、Go安裝使用

1、下載Go源碼包

上傳到/usr/local/src目錄下

2、編譯安裝Go到/usr/local

tar zxvf go1.6.3.linux-amd64.tar.gz -C /usr/local/

#注:必須使用root賬戶(hù)或者使用sudo來(lái)解壓縮Go源碼包

3、設(shè)置PATH環(huán)境變量,添加/usr/local/go/bin到環(huán)境變量

export PATH=$PATH:/usr/local/go/bin

4、安裝到自定義位置

Go二進(jìn)制文件默認(rèn)安裝到/usr/local/go,但是可以安裝Go工具到不同的位置,可以自行定義,只需要設(shè)置正確的環(huán)境變量。

例如,安裝Go到家目錄下,必須添加環(huán)境變量到$HOME/.profile

export GOROOT=$HOME/go

export PATH=$PATH:$GOROOT/bin

注:安裝Go到其他目錄時(shí),GOROOT必須設(shè)置為環(huán)境變量

5、檢查是否正確安裝程序

通過(guò)設(shè)置一個(gè)工作區(qū)和建立一個(gè)簡(jiǎn)單的程序,檢查是否正確安裝了一個(gè)簡(jiǎn)單的程序。創(chuàng)建一個(gè)目錄包含您的工作空間,例如/data/work,并設(shè)置GOPATH環(huán)境變量指向的位置。

export GOPATH=/data/work

#如果不存在/data/work,需要新建

然后,在你的工作內(nèi)創(chuàng)建src/github.com/user/hello,如果使用github,可以使用自己的用戶(hù)名代替user,在hello目錄下,新建hello.go

# cat hello.go

package main

import "fmt"

func main {

fmt.Printf("hello,world!\n")

}

#使用go編譯hello.go

go install github.com/user/hello

#上面的命令講名叫hello(or hello.exe)的程序放到你的工作區(qū)內(nèi),執(zhí)行下面命令,會(huì)得到輸出結(jié)果。

$GOPATH/bin/hello

hello,world!

#當(dāng)出現(xiàn)hello,world!表明Go已經(jīng)安裝成功可以工作。

二、Go工作區(qū)介紹

1、機(jī)構(gòu)組織代碼概述

Go語(yǔ)言程序通常將所有的代碼保存在一個(gè)工作區(qū)中。

工作區(qū)包含許多版本控制庫(kù)(由Git管理)。

每個(gè)存儲(chǔ)庫(kù)包含一個(gè)或多個(gè)包。

每個(gè)包由一個(gè)或多個(gè)在一個(gè)目錄中的源文件組成。

一個(gè)包的目錄的路徑?jīng)Q定其導(dǎo)入路徑。

注:同于其他的編程環(huán)境中,每一個(gè)項(xiàng)目都有一個(gè)獨(dú)立的工作區(qū)且工作區(qū)是緊密聯(lián)系在一起的版本控制庫(kù)。

2、工作區(qū)介紹

工作區(qū)是一個(gè)目錄層次結(jié)構(gòu),它的根目錄有三個(gè)目錄:

src 包含Go源文件

pkg 包含對(duì)象和包

bin 包含可執(zhí)行命令

Go工具創(chuàng)建源碼包并安裝二進(jìn)制文件到pkg和bin目錄下

src目錄通常包含多個(gè)版本控制庫(kù)(如Git或Mercurial),跟蹤一個(gè)或多個(gè)源包的開(kāi)發(fā)。

下面展示一個(gè)好的工作區(qū)的例子:

bin/

hello # command executable

outyet # command executable

pkg/

linux_amd64/

github.com/golang/example/

stringutil.a # package object

src/

github.com/golang/example/

.git/ # Git repository metadata

hello/

hello.go # command source

outyet/

main.go # command source

main_test.go # test source

stringutil/

reverse.go # package source

reverse_test.go # test source

golang.org/x/image/

.git/ # Git repository metadata

bmp/

reader.go # package source

writer.go # package source

... (many more repositories and packages omitted) ...

上面的屬性圖展示了一個(gè)包含兩個(gè)存儲(chǔ)庫(kù)(example和image)的工作區(qū),example 存儲(chǔ)庫(kù)包含兩個(gè)命令(hello,outyet),image庫(kù)包含bmp包和幾個(gè)其他的包。

一個(gè)典型的工作區(qū)包含包含許多軟件包和命令的多個(gè)源庫(kù)。大多數(shù)程序員將所有的源代碼和依賴(lài)關(guān)系保存在一個(gè)工作區(qū)中

3、GOPATH環(huán)境變量設(shè)置

GOPATH環(huán)境變量指定工作區(qū)的位置。它很可能是唯一的環(huán)境變量,代碼開(kāi)發(fā)時(shí)需要設(shè)置。

開(kāi)始,創(chuàng)建一個(gè)工作區(qū)目錄并設(shè)置相應(yīng)的gopath。您的工作區(qū)可以位于任何你喜歡的地方,但我們將在這個(gè)文檔中使用/data/work。請(qǐng)注意,這不能是您的“Go安裝”路徑相同。

mkdir -p /data/work

export GOPATH=/data/work

為了方便。添加工作區(qū)的bin到PATH中

export PATH=$PATH:$GOPATH/bin

4、導(dǎo)入路徑

一個(gè)導(dǎo)入路徑是唯一標(biāo)識(shí)一個(gè)包的字符串。一個(gè)包的導(dǎo)入路徑對(duì)應(yīng)于它在工作區(qū)內(nèi)或遠(yuǎn)程存儲(chǔ)庫(kù)中的位置。

從標(biāo)準(zhǔn)庫(kù)的軟件包中給出了短的導(dǎo)入路徑等。對(duì)于您自己的包,您必須選擇不可能和未來(lái)添加到標(biāo)準(zhǔn)庫(kù)或其他外部庫(kù)的基礎(chǔ)路徑?jīng)_突的路徑。

注意,你不需要將你的代碼發(fā)布到一個(gè)遠(yuǎn)程存儲(chǔ)庫(kù)之前,你可以建立它。這只是一個(gè)很好的習(xí)慣來(lái)組織你的代碼,如果你有一天會(huì)出版它。在實(shí)踐中,你可以選擇任何任意的路徑名稱(chēng),只要它是唯一的標(biāo)準(zhǔn)庫(kù)和更大的去生態(tài)系統(tǒng)。

我們將使用github.com/user作為我們的基本路徑。在您的工作區(qū)中創(chuàng)建一個(gè)目錄,以保持源代碼:

mkdir -p $GOPATH/src/github.com/user

5、第一個(gè)項(xiàng)目

編譯并運(yùn)行一個(gè)簡(jiǎn)單的程序,首先選擇一個(gè)包的路徑(我們將使用github.com/user/hello)和創(chuàng)建在您的工作區(qū)相應(yīng)的軟件包目錄:

mkdir $GOPATH/src/github.com/user/hello

創(chuàng)建名叫hello.go的文件,上面創(chuàng)建過(guò),此處略過(guò)。

cd $GOPATH/src/github.com/user/hello

go install

$GOPATH/bin/hello

或者:

hello

如果你使用的是一個(gè)源代碼管理系統(tǒng),現(xiàn)在是一個(gè)很好的時(shí)間來(lái)初始化一個(gè)存儲(chǔ)庫(kù),添加文件,并提交你的第一次更改。再次,這一步是可選的:您不需要使用源代碼管理來(lái)寫(xiě)代碼。

cd $GOPATH/src/github.com/user/hello

git init

Initialized empty Git repository in /data/work/src/github.com/user/hello/.git/

git add hello.go

git commit -m "first commit"

[master (root-commit) bbfb477] first commit

6、first library

mkdir $GOPATH/src/github.com/user/stringutil

下一步,在目錄下創(chuàng)建一個(gè)名為reverse.go文件中有下列內(nèi)容:

// Package stringutil contains utility functions for working with strings.

package stringutil

// Reverse returns its argument string reversed rune-wise left to right.

func Reverse(s string) string {

r := []rune(s)

for i, j := 0, len(r)-1; i len(r)/2; i, j = i+1, j-1 {

r[i], r[j] = r[j], r[i]

}

return string(r)

}

使用go build測(cè)試包的編譯

$ go build github.com/user/stringutil

如果當(dāng)前位置源碼包目錄,只需要:

go build

上面操作并不會(huì)產(chǎn)生一個(gè)輸出文件,必須使用go install,把包和對(duì)象輸出到工作去的pkg目錄內(nèi)

確認(rèn)stringutil包創(chuàng)建完成后,修改原始hello.go,使用stringutil包:

package main

import (

"fmt"

"github.com/user/stringutil"

)

func main() {

fmt.Printf(stringutil.Reverse("\n !oG ,olleH"))

}

無(wú)論使用go安裝包還是二進(jìn)制文件,所有相關(guān)的依賴(lài)都會(huì)自動(dòng)安裝。所以當(dāng)你安裝hello程序時(shí):

$ go install github.com/user/hello

對(duì)應(yīng)的stringutil包會(huì)自動(dòng)安裝好。

執(zhí)行新的hello程序,可以看到消息已經(jīng)被反轉(zhuǎn)

# hello

Hello, Go!

完成上面操作之后,工作區(qū)應(yīng)該為:

├── bin

│ └── hello # command executable

├── pkg

│ └── linux_amd64 # this will reflect your OS and architecture

│ └── github.com

│ └── user

│ └── stringutil.a # package object

└── src

└── github.com

└── user

├── hello

│ └── hello.go # command source

└── stringutil

└── reverse.go # package source

注意:go install會(huì)把庫(kù)文件stringutil.a放到pkg/linux_amd64下邊(目錄結(jié)構(gòu)跟源代碼結(jié)構(gòu)一樣)。這樣可以go命令可以直接找到對(duì)應(yīng)的包對(duì)象,避免不必要的重復(fù)編譯。linux_amd64是為了根據(jù)操作系統(tǒng)和你的系統(tǒng)架構(gòu)交叉編譯。

所有Go可執(zhí)行程序都通過(guò)靜態(tài)方式鏈接在一起,所以在運(yùn)行時(shí)是不需要相關(guān)的包對(duì)象(庫(kù))。

7、包命令

所有的Go源代碼都以下面的語(yǔ)句開(kāi)始:

package name

其中name就是包引用默認(rèn)的名稱(chēng),一個(gè)包中的所有文件必須使用同一個(gè)包名,可執(zhí)行命令必須是main。

一個(gè)二進(jìn)制文件下所有的包名不需要唯一,但是引用路徑必須唯一

8、測(cè)試

Go自帶了一個(gè)輕量級(jí)的測(cè)試框架,由go test和testing包組成。

可以通過(guò)新建xx_test.go寫(xiě)一個(gè)測(cè)試,其中包含若干個(gè)TestXXX函數(shù)。測(cè)試框架會(huì)自動(dòng)執(zhí)行這些函數(shù);如果函數(shù)中包含tError或t.Fail, 對(duì)應(yīng)的測(cè)試會(huì)被判為失敗。

添加一個(gè)針對(duì)stringutil的測(cè)試文件$GOPATH/src/github.com/user/stringutil/reverse_test.go,包含以下內(nèi)容:

package stringutil

import "testing"

func TestReverse(t *testing.T) {

cases := []struct {

in, want string

}{

{"Hello, world", "dlrow ,olleH"},

{"Hello, 世界", "界世,olleH"},

{"", ""},

}

for _, c := range cases {

got := Reverse(c.in)

if got != c.want {

t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)

}

}

}

#通過(guò)go test測(cè)試

# go test github.com/user/stringutil

ok github.com/user/stringutil 0.002s

#同樣的,在包文件夾下可以忽略路徑而直接執(zhí)行g(shù)o test

[root@zabbix stringutil]# go test

PASS

ok github.com/user/stringutil 0.002s

9、遠(yuǎn)程包

包的引用路徑用來(lái)描述如何通過(guò)版本控制系統(tǒng)獲取包的源代碼。go工具通過(guò)引用路徑自動(dòng)從遠(yuǎn)程代碼倉(cāng)庫(kù)獲取包文件。比如本文中用的例子也對(duì)應(yīng)的保存在github.com/golang/example下。go可以通過(guò)包的代碼倉(cāng)庫(kù)的url直接獲取、生成、安裝對(duì)應(yīng)的包。

[root@zabbix ~]# go get github.com/golang/example/hello

[root@zabbix ~]# $GOPATH/bin/hello

Hello, Go examples!

如果工作區(qū)中不存在對(duì)應(yīng)的包,go會(huì)將對(duì)應(yīng)的包放到GOPATH環(huán)境變量指明的工作區(qū)下。(如果包已經(jīng)存在,go跳過(guò)代碼拉去而直接執(zhí)行g(shù)o install)

建議詳細(xì)看一下這個(gè),有圖文

如何在Mac源碼安裝Go1.5開(kāi)發(fā)環(huán)境

Go1.5開(kāi)發(fā)環(huán)境依賴(lài)Go1.4版本作為引導(dǎo),因?yàn)镚o1.5使用Go本身來(lái)編譯安裝Go,所以必須保證服務(wù)器上已經(jīng)安裝Go1.4,這完全是為了解決先有雞還是先有蛋的問(wèn)題,當(dāng)然如果你想避免編譯安裝1.4也可以直接使用二進(jìn)制包。

在這里假設(shè)你希望將go1.5安裝到$HOME/go1.5目錄下,只需要以下幾步:

下載Go1.5的源碼放到$HOME/go1.5目錄下

在安裝Go1.5之前需要將Go1.4放到$HOME/go1.4下面或者export GOROOT_BOOTSTRAP=/go1.4安裝目錄/

到$HOME/go1.5/src/下執(zhí)行all.bash即可

我習(xí)慣將軟件安裝至/usr/local/下,以下為我安裝Go1.5(/usr/local/go1.5)的步驟:

wget

tar zxvf go1.5.1.src.tar.gz

mv ./go /usr/local/go1.5

wget

tar zxvf go1.4.3.src.tar.gz

mv ./go /usr/local/go-bootstrap1.4/

cd /usr/local/go-bootstrap1.4/src

./all.bash //編譯安裝Go1.4,有可能test不通過(guò),只要編譯通過(guò),test可忽略,目的是需要go1.4的二進(jìn)制包來(lái)編譯1.5

cd /usr/local/go1.5/src

GOROOT_BOOTSTRAP=/usr/local/go-bootstrap1.4 ./all.bash

//可在環(huán)境變量中添加GOROOT_BOOTSTRAP,然后再編譯Go1.5

以下為網(wǎng)摘:

From C to Go

The gc tool chain is being converted from C to Go.

An ongoing process, started early 2014.

Russ Cox says "It'll be done by March [2015]."

New link tool to replace 6l, 8l, etc.

New asm tool to replace 6a, 8a, etc.

Machine-translated gc to replace 6g, 8g, etc.

Design doc:

golang.org/s/go13compiler

Go 1.5 will have no C code in the tool chain or runtime.

Go語(yǔ)言將使用Go代替C重寫(xiě)運(yùn)行時(shí)環(huán)境

Go 1.4 的合并窗口在 9 月份將關(guān)閉,從現(xiàn)在開(kāi)始到12月份發(fā)布 Go 1.4 之前將只接受 bug 修復(fù)和小調(diào)整。

Go 1.4 最主要的變化是將使用 Go 語(yǔ)言本身來(lái)重寫(xiě) Go 的運(yùn)行時(shí),而之前是采用 C 語(yǔ)言開(kāi)發(fā)。這也是為什么 Go 的發(fā)行版中包含一個(gè) C

編譯器的原因。

使用 Go 重寫(xiě)的好處是:

當(dāng)前如果在 Goroutine 的調(diào)用堆棧中發(fā)現(xiàn) C 代碼,runtime 將在需要增長(zhǎng)堆棧時(shí)回滾到老的堆棧方法。如果使用 Go 來(lái)重寫(xiě)

runtime,那么堆??截惖姆椒ň蜁?huì)更加高效

目前轉(zhuǎn)換工作只計(jì)劃轉(zhuǎn) Go 編譯器 (5g, 6g, 8g), 而不是 C 編譯器,降低運(yùn)行時(shí)中的 C 代碼行數(shù),甚至可能完全清除

注意

這是 golang.org 分發(fā)版,也就是 gc ,而不是 gccgo

這是不同的 C 編譯器,gc 工具鏈將使用你系統(tǒng)的 C 編譯器來(lái)編譯,gc 運(yùn)行時(shí)則使用它的 C 編譯器來(lái)編譯

8月20日后增加的轉(zhuǎn)換行可能跟 this request 有關(guān).

Go語(yǔ)言將使用Go代替C重寫(xiě)運(yùn)行時(shí)環(huán)境

— 從現(xiàn)在開(kāi)始到12月份 Go 1.4版本發(fā)布前,Go將只接受Bug修復(fù)和小范圍的調(diào)整,Go

1.4版本將實(shí)現(xiàn)使用Go語(yǔ)言來(lái)重寫(xiě)Go的運(yùn)行時(shí)環(huán)境。

本文題目:go語(yǔ)言安裝開(kāi)發(fā)環(huán)境 centos安裝go編譯環(huán)境
當(dāng)前鏈接:http://chinadenli.net/article10/dodcodo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化、面包屑導(dǎo)航做網(wǎng)站、網(wǎng)站導(dǎo)航網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(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)

外貿(mào)網(wǎng)站制作