首先是代碼目錄結構ui
demo4.go3d
package main import "flag" var name string func init() { flag.StringVar(&name, "name", "everyone", "The greeting object.") } func main() { flag.Parse() hello(name) }
demo4_lib.gocode
package main import "fmt" func hello(name string) { fmt.Printf("Hello, %s!\n", name) }
在IDEA的terminal中,進入到 /home/penelope/gocode/src/jikeshijian 目錄並輸入命令blog
➜ go build jikeshijian
terminal
如圖,生成的可執行文件名爲jikeshijian
源碼
第一條規則,同目錄下的源碼文件的代碼包聲明語句要一致。若是目錄中有命令源碼文件,那麼其餘種類的源碼文件也應該聲明屬於main包。string
第二條規則,源碼文件聲明的代碼包的名稱能夠與其所在的目錄的名稱不一樣, 對代碼包進行構建時,生成的結果文件的主名稱與其父目錄的名稱一致。it
go的多文件加載問題,採用go run命令執行的時候,須要把待加載的.go文件都包含在參數裏面。class