Golang主包中的多个文件
我目前有一个名为main.go主包中有一个文件。 如何将main.go的内容main.go成多个文件而不创build单独的包,因为代码是不可重用的。 
我想要一个像这样的目录结构:
 $ ls foo main.go bar.go 
 bar.go 
 package main import "fmt" func Bar() { fmt.Println("Bar") } 
 然后在main.go 
 package main func main() { Bar() } 
	
上面的代码实际上工作。 问题是我需要运行
 go run *.go 
代替
 go run main.go 
 如“ 如何编译由多个文件组成的Go程序? ”中所提到的那样, go run期望得到一个文件列表,因为它“编译并运行包含指定的Go源文件的main包”。 
 所以你当然可以拆分你的main包在几个文件中go run 。 
 这不同于go build/go install期望包名称(而不是去文件名)。 
 一个简单的go build会产生一个以父文件夹命名的可执行文件。 
 请注意, 如此线程所示 , go run *.go在Windows CMD会话中不起作用 ,因为shell不执行通配符扩展 。