首先是代码目录结构
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文件都包含在参数里面。