make loop

This commit is contained in:
chai2010
2015-12-18 14:49:31 +08:00
parent 9fde1ff772
commit f9ac065e47
106 changed files with 725 additions and 725 deletions

View File

@@ -53,7 +53,7 @@ $ ./quoteargs one "two three" four\ five
["one" "two three" "four five"]
```
是對於這類一次性的程序, 我們繫統快的構建運行它. `go run` 命令結合了構建和運行的兩個步驟:
是對於這類一次性的程序, 我們繫統快的構建運行它. `go run` 命令結合了構建和運行的兩個步驟:
```
$ go run quoteargs.go one "two three" four\ five
@@ -66,9 +66,9 @@ $ go run quoteargs.go one "two three" four\ five
`go install` 命令和 `go build` 命令很相似, 但是它保存每個包的編譯成果, 而不是將它們都丟棄. 被編譯的包被保存到 $GOPATH/pkg 目録下和 src 目録對應, 可執行程序被保存到 $GOPATH/bin 目録. (很多用戶將 $GOPATH/bin 添加到可執行程序的蒐索列表中.) 還有, `go install` 命令和 `go build` 命令都不會重新編譯沒有發生變化的包, 這可以使後續構建更快捷. 爲了方便, `go build -i` 將安裝每個目標所依賴的包.
因爲編譯對應不同的操作繫統平和CPU架構, `go install` 會將編譯結果安裝到 GOOS 和 GOARCH 對應的目録. 例如, 在 Mac 繫統 golang.org/x/net/html 包將被安裝到 $GOPATH/pkg/darwin_amd64 目録下的 golang.org/x/net/html.a 文件.
因爲編譯對應不同的操作繫統平和CPU架構, `go install` 會將編譯結果安裝到 GOOS 和 GOARCH 對應的目録. 例如, 在 Mac 繫統 golang.org/x/net/html 包將被安裝到 $GOPATH/pkg/darwin_amd64 目録下的 golang.org/x/net/html.a 文件.
對不同操作繫統或CPU的交叉構建也是很簡單的. 隻需要設置好目標對應的GOOS 和 GOARCH, 然後運行構建目録卽可. 下面交叉編譯的程序將輸齣它在編譯時操作繫統和CPU類型:
對不同操作繫統或CPU的交叉構建也是很簡單的. 隻需要設置好目標對應的GOOS 和 GOARCH, 然後運行構建目録卽可. 下面交叉編譯的程序將輸齣它在編譯時操作繫統和CPU類型:
```Go
gopl.io/ch10/cross
@@ -78,7 +78,7 @@ func main() {
}
```
下面以64位和32位環境分執行程序:
下面以64位和32位環境分執行程序:
```
$ go build gopl.io/ch10/cross
@@ -89,13 +89,13 @@ $ ./cross
darwin 386
```
有些包可能需要對不同平和處理器類型輸齣不同版本的代碼, 以便於處理底層的可移植性問題或提供爲一些特點代碼提供優化. 如果一個文件名包含了一個操作繫統或處理器類型名字, 例如 net_linux.go 或 asm_amd64.s, Go工具將隻在對應的平編譯這些文件. 還有一個特的構建註釋註釋可以提供更多的構建控製. 例如, 文件中如果包含下面的註釋:
有些包可能需要對不同平和處理器類型輸齣不同版本的代碼, 以便於處理底層的可移植性問題或提供爲一些特點代碼提供優化. 如果一個文件名包含了一個操作繫統或處理器類型名字, 例如 net_linux.go 或 asm_amd64.s, Go工具將隻在對應的平編譯這些文件. 還有一個特的構建註釋註釋可以提供更多的構建控製. 例如, 文件中如果包含下面的註釋:
```Go
// +build linux darwin
```
在包聲明的前面(含包的註釋), 告訴 `go build` 隻在對 Linux 或 Mac OS X 是纔編譯這個文件. 下面的構建註釋表示不編譯這個文件:
在包聲明的前面(含包的註釋), 告訴 `go build` 隻在對 Linux 或 Mac OS X 是纔編譯這個文件. 下面的構建註釋表示不編譯這個文件:
```Go
// +build ignore