分享
Go-多文件构建
u013344915 · · 6208 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
说明
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的方式。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信6208 次点击
下一篇:golang封装结果集
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
说明
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的方式。