1. 程式人生 > >go語言的一些經驗理解

go語言的一些經驗理解

1、對GOPATHGOROOT理解不到位
GOROOT設定為/usr/local/goGOPATH設定為/usr/local/go/bin。我們在go get程式碼的時候,下載下來的包,如github.com/Ballwang/imooc所在的路徑為GOPATH/src/github.com/Ballwang/imooc。需要注意,這裡的imooc是一個資料夾而不是一個檔案。

注:go build 是將原始碼檔案編譯成一個二進位制的可執行檔案,如go build test.go可以在test.go所在的imooc檔案目錄下生成一個test可執行檔案。只需./test便可輸出執行結果。go run則是將程式直接執行並輸出結果,不會生成二進位制可執行檔案。

2、我們要保證我們執行編譯的原始碼檔案位於GOPATH/src目錄下,否則會報出type相關的異常。

3、本地找不到package
解決:在GoLand中使用go get命令,將需要的包下載下來。

go get 包名 可以藉助程式碼管理工具通過遠端拉取的方式更新程式碼包及其依賴,並自動完成編譯和安裝。使用 go get 前,需要安裝git作為程式碼管理工具。一次go get,就能在GOPATH中新增若干相關的依賴包。

4、golang.org/x 型別的包get不下來
解決:其實 golang 在 github 上建立了一個映象庫,如 https://github.com/golang/net

即是 https://golang.org/x/net 的映象庫。
可以在映象庫中將包拉取下來,再按照import的層次結構,依次建立相關的資料夾,並將檔案複製到相關的檔案中。

5、pcap.h: No such file or directory
解決:yum install libpcap-devel

6、同一個package下不同go檔案中的方法、變數都可以相互呼叫,單執行一個檔案go run file.go會報方法、變數undefined異常。原因是undefined部分所在的另一個go檔案並未一起編譯。

解決方法:go run *.go 一起編譯

7、package main、func main(){}

標誌著go程式的入口。

參考:
1、make/make clean/make install/make dist/make distcheck/make distclean命令詳解:https://blog.csdn.net/nichng/article/details/79806624

2、go run/go build/go get/go clean命令詳解:https://blog.csdn.net/u012210379/article/details/50443636

3、Hello go工程例項:https://www.jb51.net/article/56765.htm