windows下用go語言寫程式

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

linux下,google的go語言安裝起來很方便,用起來也很爽,幾行代碼就可以實現很強大的功能。
現在的問題是我想在windows下玩……
其實windows下也不麻煩,具體見下文。

一、安裝go語言:
1、安裝MinGW(https://bitbucket.org/jpoirier/go_mingw/downloads)
2、下載源碼
  進入C:\MinGW,雙擊mintty開啟終端視窗;
  執行"hg clone -u release https://go.googlecode.com/hg/ /c/go"下載源碼;
3、編譯源碼
  執行"cd /c/go/src"進入src目錄,執行"./all.bash"進行編譯;
4、設定環境變數
  編譯完成後,會在C:\go\bin下產生二進位檔案,在PATH中加入"C:\go\bin;";

二、寫go代碼:
檔案:test.go
代碼如下:

package main

import "fmt"

func main() {
fmt.Println("Test")
}

三、產生可執行檔(以我機器為例,具體可參考官網文檔):
  編譯:8g -o test.8 test.go
  連結:8l -o test.exe test.8
  執行test.exe,會輸出:

Test

四、批量產生可執行檔

  如果寫的測試代碼多的話,每一次都要輸入兩遍命令,感覺很不方便。
所以我決定寫一個指令碼,讓它自動遍曆目前的目錄下所有以".go"結尾 的檔案,對檔案進行編譯產生目標檔案、連結產生可執行檔,然後刪除目標檔案。這個指令碼是仿照之前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/01/17/2324567.html)中產生Makefile的原理寫的,功能有限,適合寫測試代碼的時候用。
這裡是代碼(python指令碼):

 1 '''
2 File : compileGo.py
3 Author : Mike
4 E-Mail : Mike_Zhang@live.com
5 '''
6 import os
7
8 srcSuffix = '.go'
9 dstSuffix = '.exe'
10 cmdCompile = "8g"
11 cmdLink = "8l"
12
13 fList = []
14 for dirPath,dirNames,fileNames in os.walk('.'):
15 for file in fileNames:
16 name,extension = os.path.splitext(file)
17 if extension == srcSuffix :
18 fList.append(name)
19 tmpName = name + '.8' # temp file
20 strCompile = '%s -o %s %s ' % (cmdCompile,tmpName,file)
21 print strCompile
22 os.popen(strCompile) # compile
23 strLink = '%s -o %s %s' % (cmdLink,name+dstSuffix,tmpName)
24 print strLink
25 os.popen(strLink) # link
26 os.remove(tmpName) # remove temp file
27 break # only search the current directory

好,就這些了,希望對你有協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.