正确的Go项目目录结构?

Mar*_*ark 7 go

我是Go的新手,我最近创建了一个在GitHub上升的项目.我试图跟随指南但是有一个紧迫的问题,为什么我的二进制文件最终src/

我的布局是这样的:

ssm/ - Name of project
    LICENSE
    README.md
    src/ - Source Code
        files.go - All my source code is here.
        src - The compiled binary ends up here
    bin/ - Binaries
Run Code Online (Sandbox Code Playgroud)

我设定$GOPATH~/Documents/Programming/Go/.从我的gopath,我不能打字,go build ssm因为它cannot find package.如果我进入目录,它会抱怨它can't load package: package .: no Go source files.

我必须实际进入src并在那里编译,这意味着二进制文件不在bin/.

我究竟做错了什么?

lnm*_*nmx 8

请参阅https://code.google.com/p/go-wiki/wiki/GithubCodeLayout

要兼容go get,您的项目的包名称需要在github.com域下完全限定:

$GOPATH/
    src/github.com/<user>/ssm/
        .git
        LICENSE
        README.md
        files.go
    bin/
Run Code Online (Sandbox Code Playgroud)

请注意,git存储库(.git)的基础与$GOPATH.

此外,go build <package>将编译的可执行文件输出到当前目录.如果你想要exe去bin/,请go install <package>改用.