Windows下使用go語(yǔ)言寫(xiě)程序安裝配置實(shí)例
linux下,google的go語(yǔ)言安裝起來(lái)很方便,用起來(lái)也很爽,幾行代碼就可以實(shí)現(xiàn)很強(qiáng)大的功能。
現(xiàn)在的問(wèn)題是我想在windows下玩……
其實(shí)windows下也不麻煩,具體見(jiàn)下文。
一、安裝go語(yǔ)言:
1、安裝MinGW(https://bitbucket.org/jpoirier/go_mingw/downloads)
2、下載源碼
進(jìn)入C:\MinGW,雙擊mintty開(kāi)啟終端窗口;
執(zhí)行"hg clone -u release https://go.googlecode.com/hg/ /c/go"下載源碼;
3、編譯源碼
執(zhí)行"cd /c/go/src"進(jìn)入src目錄,執(zhí)行"./all.bash"進(jìn)行編譯;
4、設(shè)置環(huán)境變量
編譯完成后,會(huì)在C:\go\bin下生成二進(jìn)制文件,在PATH中加入"C:\go\bin;";
二、寫(xiě)go代碼:
文件:test.go
代碼如下:
package main
import "fmt"
func main() {
fmt.Println("Test")
}
三、生成可執(zhí)行文件(以我機(jī)器為例,具體可參考官網(wǎng)文檔):
編譯:8g -o test.8 test.go
鏈接:8l -o test.exe test.8
執(zhí)行test.exe,會(huì)輸出:
Test
四、批量生成可執(zhí)行文件
如果寫(xiě)的測(cè)試代碼多的話,每一次都要輸入兩遍命令,感覺(jué)很不方便。
所以我決定寫(xiě)一個(gè)腳本,讓它自動(dòng)遍歷當(dāng)前目錄下所有以".go"結(jié)尾 的文件,對(duì)文件進(jìn)行編譯生成目標(biāo)文件、鏈接生成可執(zhí)行文件,然后刪除目標(biāo)文件。這個(gè)腳本是仿照之前的文章(http://www.fzitv.net/article/61951.htm)中生成Makefile的原理寫(xiě)的,功能有限,適合寫(xiě)測(cè)試代碼的時(shí)候用。
這里是代碼(python腳本):
'''
File : compileGo.py
Author : Mike
E-Mail : Mike_Zhang@live.com
'''
import os
srcSuffix = '.go'
dstSuffix = '.exe'
cmdCompile = "8g"
cmdLink = "8l"
fList = []
for dirPath,dirNames,fileNames in os.walk('.'):
for file in fileNames:
name,extension = os.path.splitext(file)
if extension == srcSuffix :
fList.append(name)
tmpName = name + '.8' # temp file
strCompile = '%s -o %s %s ' % (cmdCompile,tmpName,file)
print strCompile
os.popen(strCompile) # compile
strLink = '%s -o %s %s' % (cmdLink,name+dstSuffix,tmpName)
print strLink
os.popen(strLink) # link
os.remove(tmpName) # remove temp file
break # only search the current directory
好,就這些了,希望對(duì)你有幫助。
相關(guān)文章
?Go?語(yǔ)言實(shí)現(xiàn)?HTTP?文件上傳和下載
這篇文章主要介紹了Go語(yǔ)言實(shí)現(xiàn)HTTP文件上傳和下載,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Go語(yǔ)言使用MongoDB數(shù)據(jù)庫(kù)詳細(xì)步驟
mongodb是一種高性能、開(kāi)源、文檔型的nosql數(shù)據(jù)庫(kù),被廣泛應(yīng)用于web應(yīng)用、大數(shù)據(jù)以及云計(jì)算領(lǐng)域,下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言使用MongoDB數(shù)據(jù)庫(kù)的詳細(xì)步驟,需要的朋友可以參考下2024-05-05
在Golang代碼中如何自動(dòng)生成版本號(hào)的方法示例
這篇文章主要給大家介紹了在Golang代碼中如何自動(dòng)生成版本號(hào)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07
Go語(yǔ)言中TCP/IP網(wǎng)絡(luò)編程的深入講解
這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中TCP/IP網(wǎng)絡(luò)編程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例
這篇文章主要為大家介紹了golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
go Antlr重構(gòu)腳本解釋器實(shí)現(xiàn)示例
這篇文章主要為大家介紹了go Antlr重構(gòu)腳本解釋器實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
golang實(shí)現(xiàn)跨域訪問(wèn)的方法
這篇文章主要介紹了golang實(shí)現(xiàn)跨域訪問(wèn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
GO語(yǔ)言中ni,零值與空結(jié)構(gòu)體的使用
Go語(yǔ)言為Java開(kāi)發(fā)者帶來(lái)了一些新概念,如零值、nil和空結(jié)構(gòu)體,理解這些概念有助于Go語(yǔ)言的學(xué)習(xí)和應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10

