Go-多文件构建

  • Post author:
  • Post category:其他


说明

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的方式。



版权声明:本文为u013344915原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。