首先是代碼目錄結構
demo4.go
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.go
package main
import "fmt"
func hello(name string) {
fmt.Printf("Hello, %s!\n", name)
}
一
在IDEA的terminal中,進入到 /home/penelope/gocode/src/jikeshijian 目錄並輸入命令
➜ go build jikeshijian
如圖,生成的可執行文件名爲jikeshijian
二
結論:
-
第一條規則,同目錄下的源碼文件的代碼包聲明語句要一致。如果目錄中有命令源碼文件,那麼其他種類的源碼文件也應該聲明屬於main包。
-
第二條規則,源碼文件聲明的代碼包的名稱可以與其所在的目錄的名稱不同, 對代碼包進行構建時,生成的結果文件的主名稱與其父目錄的名稱一致。
-
go的多文件加載問題,採用go run命令執行的時候,需要把待加載的.go文件都包含在參數裏面。