关于go build

我的目录结构是这样

proj -
       |-- bin
       |-- pkg
       `--src
           |-- daemon
                `-- daemon.go
           `-- main.go

要想构建成功,只能 mkdir main; mv main.go main/ ; go build main

如果main.go 放在proj/src 根目录下不行吗?如果放在根目录下怎样才能用go build 构建成功??

其实我就是不是再给main.go 再加一个main的目录

我看了一些开源的项目,人家都是把 程序入口的包 放在根目录下了

共 7 个回复


jiyinyiyong

目录结构贴得有问题? bin/pkg 应该是平级的

# 0

jimmykuu

直接放在根目录下的话,可以用go build来编译,但是那样包管理不是方便。

代码都写那么多了,加个main包没啥大不了,不就一个命令么。Go语言是面向工程的,不是学术派,已经给了你开发工程的模式,没必要去花心思考虑把代码放在文件夹外还是里面。

# 1

shaovie

那src 下全是目录 ?

# 2

jimmykuu

是的。

如果根目录下面可以通过go build *.go来构建。

# 3

shaovie

哟嘻。。。。就是尽量把代码以包 为分类, 每个包一个目录。。。

# 4

lzy7199

可以在src下创建一个main文件夹,再把main.go放进去,然后直接使用go install命令,一切搞定

# 5

lzy7199

个人是觉得没有那么麻烦了,一个文件夹而已,我用st2直接go install,所有都编译好了

# 6