工作目錄
先來說說Golang的工作目錄,安裝好Golang后,需要做的一件事情就是設置工作目錄,所有的項目、工具、第三方包會存放到工作目錄中。默認情況下工作目錄是用戶目錄的go文件夾。我們可以利用環(huán)境變量GOPATH來更改Golang工作目錄的位置。
工作目錄的結構是如下這樣的。bin文件夾存放項目會使用到的各種工具;pkc存放著項目所需的各種包所需的庫文件;src存放著項目的源代碼。如果使用了第三方庫,那么第三方庫也會存放到工作目錄中。
bin/
pkg/
src/
Go命令
下面來介紹一下Go命令,它將是我們使用的主要命令。如果需要查看幫助,可以直接輸入go,終端會列出所有命令和簡短的提示。我簡單地翻譯了一下幫助信息。
PS C:\Users\asddf> go
Go is a tool for managing Go source code.
Usage:
go command [arguments]
The commands are:
build 編譯包和依賴
clean 移除對象文件
doc 顯示寶或符號的文檔信息
env 打印go環(huán)境信息
bug 提交bug信息
fix 在包上運行go tool fix
fmt 在包源代碼上運行格式化工具
generate 處理源代碼并生成go文件
get 下載和安裝包和依賴
install 編譯并安裝包和依賴
list 列出包
run 編譯和運行go程序
test 測試包
tool 運行指定的go工具
version 打印go版本
vet 在包上運行go工具審查
運行項目
單個文件
如果只需要運行單個文件,可以簡單的使用go run命令。比方說,下面的代碼文件是hello_world.go,那么只需要簡單運行go run hello_world.go即可。這里提一下,可以運行的文件的包必須是main,而且有一個main函數(shù)。
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World")
}
復雜項目
如果我們正在編寫一個比較復雜的項目,這個項目有很多個包,那么就不能隨意放置項目了。為了讓項目中的包可以被訪問,項目必須放置在Go的工作目錄中,更具體說就是工作目錄的src中。
舉個例子,我的項目可以放置到go_workspace\src\yitian\golang-study\golang-programming。這里為了區(qū)分不同的第三方包,需要不同的目錄層次,例如大部分Github上的第三方庫,目錄層次都是github.com/XXX這樣的。
包
包這個概念我放到最后來說,因為我不知道怎么說。不過如果學過Java的話,應該很容易理解包這個概念,反正都是用來給代碼分類的。需要注意一點,Java的包用來組織代碼,所以Java的包名必須是唯一的,這通過包前面的一長串限定名abc.xyz.XXX來辦到。
和Java不同的是,Golang中的包可以重名,所以為了區(qū)分不同的包,需要在引用的時候添加路徑。就拿剛才舉的項目例子,假如go_workspace\src\yitian\golang-study\golang-programming下有一個hello包,那么在其他項目中要引用這個包就需要使用名稱yitian/golang-study/golang-programming/hello。