小编典典

如何“运行”主包中包含多个文件的项目?

all

我在包中有一个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

阅读 56

收藏
2022-07-07

共1个答案

小编典典

2019 年 7 月 26 日更新(对于 go >=1.11)

go run .

也可以在 Windows 上工作。

原始答案(适用于非 Windows 环境)

该代码实际上有效。问题是go run main.go我应该运行而不是运行:

go run *.go
2022-07-07