請(qǐng)自行查看我前面寫得GO語(yǔ)言開(kāi)發(fā)環(huán)境和GO語(yǔ)言IDE編輯器的經(jīng)驗(yàn)文章
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到漳縣網(wǎng)站設(shè)計(jì)與漳縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋漳縣地區(qū)。
我們先寫一段GO代碼
很簡(jiǎn)單就是打印輸出一個(gè)hello world!
保存為print.go文件
然后再CMD下一路cd到print.go目錄下來(lái)
在cmd下運(yùn)行 go run print.go就可以運(yùn)行g(shù)o程序了
看看運(yùn)行結(jié)果
GO程序的代碼是可以直接編譯成exe文件的
在print.go目錄下運(yùn)行 go build print.go即可把go程序編譯成exe文件
完成之后看看exe文件是否存在
最好我們要看看運(yùn)行exe的效果
1、下載go的zip文件。并且一定要把文件解壓到c:\go目錄下。
2、配置windows的高級(jí)環(huán)境變量。包括:GOROOT、GOOS、GOBIN、GOARCH。并且在path變量里面把c:\go\bin加入。以便可以在命令行直接運(yùn)行g(shù)o命令。
舉例:我的機(jī)器:
GOPATH= c:\go;c:\go\src;F:\workspace\goSample01;
GOBIN=c:\go\bin;F:\workspace\goSample01\bin;
其中,c:\go是go的安裝路徑;
F:\workspace\goSample01是我寫的go語(yǔ)言項(xiàng)目的工程目錄;
F:\workspace\goSample01\bin是go語(yǔ)言項(xiàng)目的工程目錄下的可執(zhí)行文件路徑;
3、在完成環(huán)境變量配置后,打開(kāi)一個(gè)命令行窗口,直接輸入go,然后回車,看看是否出現(xiàn)go的幫助信息。如果出現(xiàn),那么go的基本環(huán)境就OK了。
注意:這個(gè)基本環(huán)境不包含開(kāi)發(fā)工具,也不能直接編譯帶C代碼的go程序。
4、(可選)為了支持Import遠(yuǎn)程包,最好裝個(gè)gomingw。下載地址:。如果下的是壓縮包,請(qǐng)把它解壓到C盤。例如,C:\gowin-env。里面有個(gè)Console.bat是以后使用go get的環(huán)境。舉例:有個(gè)文件a.go,里面import(
"fmt"
"github.com/astaxie/beedb"
_ "github.com/ziutek/mymysql/godrv"
為了編譯該a.go文件,需要啟動(dòng)Console.bat,然后在該命令行窗口,進(jìn)入c:\go\src目錄下,執(zhí)行g(shù)o getgithub.com/astaxie/beedb
Go get github.com/ziutek/mymysql/godrv .
Go會(huì)自動(dòng)下載該遠(yuǎn)程包并編譯和安裝這些包。
配置goclipse(可選)
(如果不喜歡eclipse開(kāi)發(fā)工具,請(qǐng)?zhí)^(guò)這個(gè)配置。)
1、下載并安裝goclipse插件。Goclipse是go語(yǔ)言for eclipse的插件,下載地址:
2、啟動(dòng)eclipse并創(chuàng)建go項(xiàng)目。然后寫個(gè)最簡(jiǎn)單的helloworld.go文件,并運(yùn)行。代碼如下:
packagemainimport"fmt"func main(){ fmt.Printf("hello, world")}
配置gocode(可選)
如果不需要go語(yǔ)法輔助和eclipse里面的(按ALT+/)彈出go語(yǔ)言自動(dòng)輔助功能,請(qǐng)?zhí)^(guò)這個(gè)配置。
1、下載gocode的zip文件,解壓后放在go的bin目錄下。
2、下載并安裝Git軟件。并且在path里面配置git的執(zhí)行路徑。例如c:\git\bin
3、在命令行執(zhí)行:go build .\gocode。如果一切正常,那么將會(huì)編譯生成一個(gè)gocode.exe文件在go的bin目錄下。如果編譯失敗,那么就轉(zhuǎn)第4步。
4、如果第3步直接編譯gocode源文件成功,那就直接到第5步。否則,就需要通過(guò)git下載gocode源文件,然后再編譯。在命令行執(zhí)行:go get -u github.com/nsf/gocode 。就會(huì)生成gocode.exe文件。
5、在goclipse插件里面指定gocode的路徑。就可以在elcipse里面調(diào)用gocode來(lái)幫助寫編碼了。
從開(kāi)發(fā)工具這塊看,go語(yǔ)言還不夠成熟,開(kāi)發(fā)工具都還不完善,有待改進(jìn)。
下載go-tour教程源代碼(可選)
Google有個(gè)在線運(yùn)行g(shù)o語(yǔ)言的教程(),很不錯(cuò)。支持在web上直接運(yùn)行大部分的go程序,想了解這個(gè)教程的源代碼的朋友可以通過(guò)以下方式獲取。如果沒(méi)興趣,可以跳過(guò)這個(gè)步驟。
1、下載安裝Mercurial軟件。
2、在命令行下輸入:
hg clone
這個(gè)URL是我從google的go-tour源代碼的一個(gè)clone。作為測(cè)試用的。如果把http改成https協(xié)議,下載就會(huì)失敗。搞不懂。
編譯帶調(diào)用C代碼的go文件(可選)
1、為了在windows下編譯帶C代碼的go程序,你首先需要下載并安裝MinGW或者Cygwin。
2、首選安裝MinGW。在安裝MinGW之后,記得要把MinGW安裝目錄\bin路徑設(shè)置在path環(huán)境變量里面,以便能在dos窗口下直接調(diào)用gcc。
3、下載一個(gè)gowin-env。下載地址:gowin-env。下載后解壓到某個(gè)目錄下,例如:C:\gowin-env. 然后,編輯go-env.bat。配置相關(guān)的go參數(shù)。例如,我的配置是:
set GOARCH=386
set GOOS=windows
set GOROOT=c:\go
set GOBIN=%GOROOT%\bin
set GOPATH=%GOROOT%;F:\workspace\goSample01;
設(shè)置好go-env.bat后,就可以點(diǎn)擊Console.bat來(lái)啟動(dòng)編譯和運(yùn)行窗口。
4、編寫一個(gè)帶C代碼的go程序。例如,testc.go
5、編譯
例如:
go build -compiler gccgo test_c.go
運(yùn)行調(diào)用C代碼的go文件(可選)
1、testc.go.
創(chuàng)建rand目錄,然后在rand里面創(chuàng)建testc.go. 代碼如下:
package rand
/*
//
#include stdio.h
*/
import "C"
func PrintHello() {
C.puts(C.CString("Hello, world\n"))
}
2、a.go
在rand下創(chuàng)建a.go.代碼如下:
package rand
import "fmt"
func SayHello(name string){
fmt.Println(name)
}
3、test_import.go
在rand的上一級(jí)創(chuàng)建test_import.go。代碼如下:
package main
import "./rand"
func main(){
rand.SayHello("tom")
rand.PrintHello()
}
4、運(yùn)行test_import.go
go run test_import.go
在測(cè)試其它幾個(gè)C代碼的時(shí)候,發(fā)現(xiàn)windows版本的cgo還有些編譯問(wèn)題,同樣的代碼轉(zhuǎn)移到蘋果的XCODE下就沒(méi)有問(wèn)題。后來(lái)終于發(fā)現(xiàn)原因了,原來(lái)有些例子是unix平臺(tái)下的,而在windows平臺(tái)下,方法名和參數(shù)需要做調(diào)整。
例如:下面代碼在windows下編譯報(bào)一堆錯(cuò)誤。
package rand
/*
#include stdlib.h
*/
import "C"
func Random() int {
return int(C.random())
}
func Seed(i int) {
C.srandom(C.uint(i))
}
這里需要把return int(C.random()) 修改為“return int(C.rand())”
C.srandom(C.uint(i))修改為“C.srand(C.uint(i))”編譯就OK了。
1、Sublime text
這個(gè)文本編輯器在編程界極為普遍,它并非一個(gè)完全成熟的IDE,但它具備了很多語(yǔ)言的擴(kuò)展插件,比如Pyhon、lua等,其中有一個(gè)插件GoSublime專門針對(duì)Go語(yǔ)言,提供了語(yǔ)法高亮、自動(dòng)補(bǔ)全等功能,這些功能使Sublime Text稱為一個(gè)很實(shí)用的Go IDE。
2、IntelliJ
由Jetbrains提供,在Java開(kāi)發(fā)者中更為流行,其自帶的Go插件支持語(yǔ)法高亮顯示、代碼補(bǔ)全、自動(dòng)編譯以及子庫(kù)支持,這就使使用者可以很方便地將項(xiàng)目拆分成多個(gè)包,可以在一個(gè)單獨(dú)的IDE中瀏覽它。它有個(gè)很好用的功能,插件使用了突出顯示來(lái)顯示未使用的變量或包。
3、LiteIDE
目前也是一個(gè)專門針對(duì)Go的IDE了,功能很全面,具備語(yǔ)法高亮、自動(dòng)補(bǔ)全、自動(dòng)編譯、調(diào)試、包瀏覽及管理。調(diào)試器在后臺(tái)使用的gdb,這樣可以方便地打印變量值、查看當(dāng)前堆棧信息。
4、Intype
是僅Windows下支持的文本編輯器,具備有限的語(yǔ)法高亮支持和特定的高亮顯示設(shè)置。
5、Netbeans
Netbeans內(nèi)建支持了大量語(yǔ)言,同時(shí)具備Go插件,從而可以同創(chuàng)建正常項(xiàng)目一樣,創(chuàng)建Go源文件,除了語(yǔ)法高亮以外,其Go插件并不支持其他特殊功能,如何使用IDE編譯Go文件還不得而知。
6、Eclipse
最受歡迎的IDE,GoClipse插件在Eclipse中添加了IDE功能來(lái)支持Go,GoClipse提供了可配置的語(yǔ)法高亮顯示、自動(dòng)文檔補(bǔ)全、自動(dòng)編譯以及最重要的實(shí)驗(yàn)調(diào)試支持。
7、TextMate
是一個(gè)Mac OS下的文本編輯器,可擴(kuò)展它以突出顯示Go代碼,并提供源代碼片段。
8、Komodo Edit
來(lái)自ActiveState的開(kāi)源代碼編輯器,基于Monzilla 7.0且支持跨平臺(tái),支持多種語(yǔ)言,但免費(fèi)版的Komodo功能有限,它的golang插件komodo-go提供了基本的語(yǔ)法高亮、代碼補(bǔ)全功能。