我在 main
包中有一个名为 main.go
的文件。因为代码不可重用,所以我想将部分代码放在不同的文件中,但放在同一个包中。
如何将 main.go
的内容拆分为多个文件而不创建单独的包?
我想要这样的目录结构:
ls foo
# output:
main.go
bar.go
- 文件:
bar.go
package main
import "fmt"
func Bar() {
fmt.Println("Bar")
}
- 文件:
main.go
package main
func main() {
Bar()
}
当我运行 go run main.go
时,它给了我:
# command-line-arguments
./main.go:4:2: undefined: Bar
原文由 Neil 发布,翻译遵循 CC BY-SA 4.0 许可协议
2019 年 7 月 26 日更新(适用于 go >=1.11)
也适用于 Windows。
原答案(针对非windows环境)
该代码确实有效。问题是,我应该
go run main.go
: