国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Golang > 正文

Windows下使用go語(yǔ)言寫程序安裝配置實(shí)例

2020-04-01 19:15:57
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了Windows下使用go語(yǔ)言寫程序安裝配置實(shí)例,本文講解了安裝go語(yǔ)言、寫go代碼、生成可執(zhí)行文件、批量生成可執(zhí)行文件等內(nèi)容,需要的朋友可以參考下
 

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;";

二、寫go代碼:

文件:test.go
代碼如下:

復(fù)制代碼代碼如下:

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í)行文件

  如果寫的測(cè)試代碼多的話,每一次都要輸入兩遍命令,感覺(jué)很不方便。
所以我決定寫一個(gè)腳本,讓它自動(dòng)遍歷當(dāng)前目錄下所有以".go"結(jié)尾 的文件,對(duì)文件進(jìn)行編譯生成目標(biāo)文件、鏈接生成可執(zhí)行文件,然后刪除目標(biāo)文件。這個(gè)腳本是仿照之前的文章中生成Makefile的原理寫的,功能有限,適合寫測(cè)試代碼的時(shí)候用。
這里是代碼(python腳本):

復(fù)制代碼代碼如下:

'''
      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ì)你有幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 弋阳县| 遂平县| 内丘县| 连山| 句容市| 都安| 南华县| 苍溪县| 吉安县| 吴忠市| 云霄县| 桐乡市| 江门市| 简阳市| 休宁县| 开原市| 元江| 玉龙| 岑巩县| 玛纳斯县| 扎囊县| 宜都市| 巴彦淖尔市| 岐山县| 肇东市| 陆良县| 会昌县| 西平县| 武汉市| 新沂市| 金溪县| 田阳县| 利津县| 博客| 融水| 吉水县| 南平市| 礼泉县| 南木林县| 肥西县| 哈尔滨市|