首先是代码目录结构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