鍍金池/ 教程/ GO/ 2.2 Go 環(huán)境變量
4.7 strings 和 strconv 包
13.6 啟動外部命令和程序
?# 11.4 類型判斷:type-switch
12.1 讀取用戶的輸入
10.6 方法
12.2 文件讀寫
13 錯誤處理與測試
9.3 鎖和 sync 包
12.3 文件拷貝
?# 11.7 第一個例子:使用 Sorter 接口排序
?# 11.5 測試一個值是否實現(xiàn)了某個接口
6.4 defer 和追蹤
12.10 XML 數(shù)據(jù)格式
13.10 性能調(diào)試:分析并優(yōu)化 Go 程序
?# 11.1 接口是什么
2.2 Go 環(huán)境變量
2.6 安裝目錄清單
2.5 在 Windows 上安裝 Go
11.11 Printf 和反射
1.2 語言的主要特性與發(fā)展的環(huán)境和影響因素
9.0 包(package)
7.4 切片重組(reslice)
13.2 運行時異常和 panic
10.2 使用工廠方法創(chuàng)建結(jié)構(gòu)體實例
12.8 使用接口的實際例子:fmt.Fprintf
2.4 在 Mac OS X 上安裝 Go
3.8 Go 性能說明
7.2 切片
8.0 Map
3.1 Go 開發(fā)環(huán)境的基本要求
5.6 標(biāo)簽與 goto
6.10 使用閉包調(diào)試
9.5 自定義包和可見性
4.3 常量
?# 11.2 接口嵌套接口
6.5 內(nèi)置函數(shù)
前言
10.8 垃圾回收和 SetFinalizer
2.8 Go 解釋器
13.7 Go 中的單元測試和基準(zhǔn)測試
6.8 閉包
4.9 指針
13.1 錯誤處理
10.1 結(jié)構(gòu)體定義
5.1 if-else 結(jié)構(gòu)
6.6 遞歸函數(shù)
9.9 通過 Git 打包和安裝
2.7 Go 運行時(runtime)
10.7 類型的 String() 方法和格式化描述符
3.7 其它工具
9.6 為自定義包使用 godoc
11.12 接口與動態(tài)類型
13.3 從 panic 中恢復(fù)(Recover)
10.3 使用自定義包中的結(jié)構(gòu)體
11.14 結(jié)構(gòu)體、集合和高階函數(shù)
3.6 生成代碼文檔
9.2 regexp 包
4.1 文件名、關(guān)鍵字與標(biāo)識符
?# 11.6 使用方法集與接口
7.0 數(shù)組與切片
7.1 聲明和初始化
12.11 用 Gob 傳輸數(shù)據(jù)
5.5 Break 與 continue
1.1 起源與發(fā)展
?# 11 接口(Interfaces)與反射(reflection)
6.9 應(yīng)用閉包:將函數(shù)作為返回值
4.2 Go 程序的基本結(jié)構(gòu)和要素
8.6 將 map 的鍵值對調(diào)
6.11 計算函數(shù)執(zhí)行時間
5.0 控制結(jié)構(gòu)
10.5 匿名字段和內(nèi)嵌結(jié)構(gòu)體
4.6 字符串
3.0 編輯器、集成開發(fā)環(huán)境與其它工具
13.8 測試的具體例子
7.6 字符串、數(shù)組和切片的應(yīng)用
8.4 map 類型的切片
3.9 與其它語言進行交互
7.3 For-range 結(jié)構(gòu)
9.7 使用 go install 安裝自定義包
6.0 函數(shù)
9.8 自定義包的目錄結(jié)構(gòu)、go install 和 go test
6.3 傳遞變長參數(shù)
13.9 用(測試數(shù)據(jù))表驅(qū)動測試
11.9 空接口
8.1 聲明、初始化和 make
6.2 函數(shù)參數(shù)與返回值
9.11 在 Go 程序中使用外部庫
3.3 調(diào)試器
4.5 基本類型和運算符
?# 11.8 第二個例子:讀和寫
12.5 用 buffer 讀取文件
總結(jié):Go 中的面向?qū)ο?/span>
11.10 反射包
12.7 用 defer 關(guān)閉文件
9.4 精密計算和 big 包
4.4 變量
6.1 介紹
13.4 自定義包中的錯誤處理和 panicking
12.4 從命令行讀取參數(shù)
9.10 Go 的外部包和項目
8.3 for-range 的配套用法
3.5 格式化代碼
10.4 帶標(biāo)簽的結(jié)構(gòu)體
7.5 切片的復(fù)制與追加
?# 11.3 類型斷言:如何檢測和轉(zhuǎn)換接口變量的類型
5.4 for 結(jié)構(gòu)
4.8 時間和日期
2.3 在 Linux 上安裝 Go
12 讀寫數(shù)據(jù)
6.12 通過內(nèi)存緩存來提升性能
9.1 標(biāo)準(zhǔn)庫概述
12.6 用切片讀寫文件
10 結(jié)構(gòu)(struct)與方法(method)
8.5 map 的排序
12.9 JSON 數(shù)據(jù)格式
13.5 一種用閉包處理錯誤的模式
3.2 編輯器和集成開發(fā)環(huán)境
12.12 Go 中的密碼學(xué)
5.2 測試多返回值函數(shù)的錯誤
6.7 將函數(shù)作為參數(shù)
8.2 測試鍵值對是否存在及刪除元素
3.4 構(gòu)建并運行 Go 程序
2.1 平臺與架構(gòu)
5.3 switch 結(jié)構(gòu)

2.2 Go 環(huán)境變量

Go 開發(fā)環(huán)境依賴于一些操作系統(tǒng)環(huán)境變量,你最好在安裝 Go 之間就已經(jīng)設(shè)置好他們。如果你使用的是 Windows 的話,你完全不用進行手動設(shè)置,Go 將被默認(rèn)安裝在目錄 c:/go 下。這里列舉幾個最為重要的環(huán)境變量:

  • $GOROOT 表示 Go 在你的電腦上的安裝位置,它的值一般都是 $HOME/go,當(dāng)然,你也可以安裝在別的地方。
  • $GOARCH 表示目標(biāo)機器的處理器架構(gòu),它的值可以是 386、amd64 或 arm。
  • $GOOS 表示目標(biāo)機器的操作系統(tǒng),它的值可以是 darwin、freebsd、linux 或 windows。
  • $GOBIN 表示編譯器和鏈接器的安裝位置,默認(rèn)是 $GOROOT/bin,如果你使用的是 Go 1.0.3 及以后的版本,一般情況下你可以將它的值設(shè)置為空,Go 將會使用前面提到的默認(rèn)值。

目標(biāo)機器是指你打算運行你的 Go 應(yīng)用程序的機器。

Go 編譯器支持交叉編譯,也就是說你可以在一臺機器上構(gòu)建運行在具有不同操作系統(tǒng)和處理器架構(gòu)上運行的應(yīng)用程序,也就是說編寫源代碼的機器可以和目標(biāo)機器有完全不同的特性(操作系統(tǒng)與處理器架構(gòu))。

為了區(qū)分本地機器和目標(biāo)機器,你可以使用 $GOHOSTOS$GOHOSTARCH 設(shè)置本地機器的操作系統(tǒng)名稱和編譯體系結(jié)構(gòu),這兩個變量只有在進行交叉編譯的時候才會用到,如果你不進行顯示設(shè)置,他們的值會和本地機器($GOOS$GOARCH)一樣。

  • $GOPATH 默認(rèn)采用和 $GOROOT 一樣的值,但從 Go 1.1 版本開始,你必須修改為其它路徑。它可以包含多個包含 Go 語言源碼文件、包文件和可執(zhí)行文件的路徑,而這些路徑下又必須分別包含三個規(guī)定的目錄:src、pkgbin,這三個目錄分別用于存放源碼文件、包文件和可執(zhí)行文件。
  • $GOARM 專門針對基于 arm 架構(gòu)的處理器,它的值可以是 5 或 6,默認(rèn)為 6。
  • $GOMAXPROCS 用于設(shè)置應(yīng)用程序可使用的處理器個數(shù)與核數(shù),詳見第 14.1.3 節(jié)。

在接下來的章節(jié)中,我們將會討論如何在 Linux、Mac OS X 和 Windows 上安裝 Go 語言。在 FreeBSD 上的安裝和 Linux 非常類似。開發(fā)團隊正在嘗試將 Go 語言移植到其它例如 OpenBSD、DragonFlyBSD、NetBSD、Plan 9、Haiku 和 Solaris 操作系統(tǒng)上,你可以在這個頁面找到最近的動態(tài):Go Porting Efforts。

鏈接

上一篇:8.0 Map下一篇:前言