go語言的一些經驗理解
1、對GOPATH
和GOROOT
理解不到位
GOROOT
設定為/usr/local/go
。GOPATH
設定為/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
可以在映象庫中將包拉取下來,再按照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(){}
參考:
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