说明
go提供了package机制,可以构建库文件/函数到GOPATH中。对于仅和某个应用相关的模块来讲,放到GOPATH就不合适。但全部代码放到一个go文件又难以阅读和维护,此时,可以把代码分散到各个独立职责的文件中,但取为相同的package。
示例
这里有两个文件:main.go和util.go
main.go
package main
//import "fmt"
func main() {
foo()
}
util.go
package main
import "fmt"
func foo() {
fmt.Println("foo()")
}
运行
$ go run main.go util.go
foo()
$
子目录
如果用子目录进行组织,则不行:
$ ls
main.go util.go
$ mkdir util
$ mv util.go util
$ ls
main.go util
$ go run main.go ./util/util.go
named files must all be in one directory; have ./ and ./util/
$
此时,只能修改package name,且只能用GOPATH+package的方式。
有疑问加站长微信联系(非本文作者)