這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
看了一段時間的go的知識了,本來是衝著它是系統級的語言去的,同時又有java的的樣子。看了這麼久,發現這語言挺好的,文法精簡,有c的遺傳。在物件導向上,也有些許的java風格。寫web的時候,這風格和nodejs實在是太像了。
----------------------------------------------------------------
好了,從最基礎的說起吧。
go語言設定了環境變數的時候,有一個很糾結的東西:GOPATH。
gopath是項目的路徑,剛剛開始的時候,我就感覺這太糾結了。如果每次切換項目路徑,是不是都要設定一下環境變數。這個也沒有怎麼管。一直用idea寫go,今天寫好了,準備編譯下,才重新開始看這個問題。
先貼一下環境變數備忘:
GOROOT=/usr/share/goPATH=/usr/bin/go:$PATH
其實,在環境變數配置中,不需要設定gopath。
舉個栗子,從頭開始,建個目錄。
cd ~mkdir MyProcexport GOPATH=~/MyProc
這樣,目前就將MyProc設定為項目路徑了。之後的go get 到的東西,就到了這個目錄裡。
MyProc要遵循結構,下面分三個目錄:bin,src,pkg 。
Here's an example directory layout:
GOPATH=/home/user/gocode
/home/user/gocode/
src/
foo/
bar/ (go code in package bar)
x.go
quux/ (go code in package main)
y.go
bin/
quux (installed command)
pkg/
linux_amd64/
foo/
bar.a (installed package object)
官方是這麼說這幾個結構的。
src放的是源碼,寫完後,go build一下就好了。