Go-多文件构建

时间:2025-03-02 14:10:07

说明

go提供了package机制,可以构建库文件/函数到GOPATH中。对于仅和某个应用相关的模块来讲,放到GOPATH就不合适。但全部代码放到一个go文件又难以阅读和维护,此时,可以把代码分散到各个独立职责的文件中,但取为相同的package。

示例

这里有两个文件:和

package main 

//import "fmt"

func main() {
    foo()
}

package main

import "fmt"

func foo() {
    ("foo()")
}

运行

$ go run  
foo()
$

子目录

如果用子目录进行组织,则不行:

$ ls
 
$ mkdir util
$ mv  util
$ ls
 util
$ go run  ./util/ 
named files must all be in one directory; have ./ and ./util/
$ 

此时,只能修改package name,且只能用GOPATH+package的方式。