你可以在一个目录中有多个Go源文件吗?

问题描述:

I found this to be a duplicate of this question你可以在一个目录中有多个Go源文件吗?




的Hello World

刚开始学习golang并试图找出如何构建一个更大的计划。不知道软件包是否是我想要的分割,或者是否有更适合于在单个目录中有多个源文件的其他内容,但这是我的尝试。

package main 

import "fmt" 
func main() { 
    fmt.Printf("hello, world\n") 
} 

测试运行它:

~/b2/go/src/github.com/bemmu/hello bemmu$ go run hello.go 
hello, world 

两个文件版本

我想尝试它分裂成两个文件。

main.go

package main 

import "fmt" 
import "say" 

func main() { 
    say.Hello() 
} 

say.go

package say 
import "fmt" 

func Hello() { 
    fmt.Printf("hello, Go\n") 
} 

测试运行它:

~/b2/go/src/github.com/bemmu/hello_split bemmu$ go run main.go 
main.go:4:8: cannot find package "say" in any of: 
    /usr/local/go/src/say (from $GOROOT) 
    /Users/bemmu/b2/go/src/say (from $GOPATH) 

the docs有创建库的例子并导入它,但在示例中它被放入一个单独的目录。

不,请为其他包创建一个新目录。