Golang教程:(二)Hello World
這是本Golang系列教程的第二篇。請閱讀 Golang教程:(一)介紹和安裝 來了解什麼是Golang以及如何安裝它。
除了親自寫程式碼以外沒有更好的方式來學習一門新的程式語言。在這篇教程中我們將開始編寫我們的第一個程式。
我個人(原文作者)推薦使用 Visual Studio Code 搭配 Go外掛 作為 IDE。它有自動完成,程式碼高亮以及另外一些實用功能。
譯者注:VSCode的Go外掛可能被牆,如果沒辦法下載可以嘗試使用 LiteIDE。另外,本教程的示例程式碼都很簡單,直接用編輯器編輯也可。
搭建Go工作空間
在寫程式碼之前,我們需要搭建Go工作空間。
如果是 Mac
$HOME/go
目錄。因此我們在 $HOME 目錄下新建一個 go 子目錄。
如果是 Windows,Go的工作空間應該在 C:\Users\YourNamae\go 目錄。因此我們在 C:\Users\YourName 目錄下新建一個 go 子目錄。
也可以通過設定環境變數 GOPATH 來指定 Go 的工作空間為其他目錄。但是為了簡單讓我們使用上面建立的目錄。
所有的原始碼檔案應該放在工作空間目錄下的 src 子目錄中,因此我們在工作空間目錄(也就是上面建立的 go 目錄)下建立 src 子目錄。
在 src 目錄下,每一個 Go 的專案應該有一個單獨的目錄。因此我們在 src 目錄下建立一個 hello
建立完上面的目錄,目錄結構如下:
go/
src/
hello/
在 hello 目錄下建立 helloworld.go,程式碼如下:
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
建立完上面的程式,目錄結構如下:
go/
src/
hello/
helloworld.go
執行 Go 程式
可以有多種方式可以執行一個 Go 程式,下面一個一個地介紹。
使用 go run 命令。在命令提示符中輸入以下命令:
go run workspacepath/src/hello/helloworld.go
其中,workspacepath 應該是你自己的工作空間路徑(在Windows下為 C:/Users/YourName/go ,在 Linux 和 Mac 下為 $HOME/go)。
執行之後應該可以看到在控制檯中列印了
Hello World
。使用 go install 命令。在命令提示符中輸入以下命令:
go install hello
然後再輸入以下命令執行程式:
workspacepath/bin/hello
譯者注:以上命令是在 Mac 或者 Linux下的命令,如果是在 Windows 下,則應該為
workspacepath\bin\hello.exe
。其中 workspacepath 應該替換成你自己的工作空間目錄(在 Windows 下為 C:/Users/YourName/go ,在 Linux 和 Mac 下為 $HOME/go)。執行之後應該可以看到在控制檯中列印了
Hello World
。當執行 go install hello時,Go 工具會在工作空間中查詢
hello
包(hello
稱為一個包,我們將在以後的教程中解釋什麼是包)。接著它將會在 [工作空間]/bin 下建立(譯者注:經過編譯、連結)一個名為hello
(在Windows下為 hello.exe) 的二進位制檔案。執行完go install hello
之後的目錄結構如下:go/ bin/ hello -- 譯者注:在Windows下是 hello.exe src/ hello/ helloworld.go
第三種執行 Go 程式的“酷酷的”方式是使用 Go playground。雖然這種方式有其自身的限制,但是這種方式在我們需要執行一個簡單的程式時非常方便。我(原文作者)已經為 hello world 程式建立了一個 playgournd。可以點選這裡線上執行它。(譯者注:訪問Go playground可能被牆。)
你可以在 Go playground 與其他人分享你的原始碼。(譯者注:在 playground 頁面可以點選 [Share] 按鈕建立用於分享的URL)
對 hello world 程式的簡要解釋
下面是我們剛剛編寫的 hello world 程式程式碼:
package main //1
import "fmt" //2
func main() { //3
fmt.Println("Hello World") //4
}
這裡簡要解釋每一行都做了什麼。我們會在以後的教程中更詳細地介紹它們。
package main
:每個 Go 檔案都必須以 package name
語句開頭。包(package)提供了程式碼封裝和重用。這裡包的名字為 main
。
import "fmt"
:匯入 fmt
包,在 main
函式中將使用這個包列印文字到標準輸出。
func main()
:main函式是一個特殊的函式,它是 Go 程式的入口點。main 函式必須包含在 main package 中。 { 和 } 表示 main
函式的開始和結束。
fmt.Println(“Hello World”):fmt 包裡的 Println 函式用來列印文字到標準輸出。
原始碼可以在 github 下載。
現在你可以轉到 Golang教程:(三)變數 去學習 Golang 的變量了。