去项目结构 - 最佳实践

sho*_*a T 7 project go

我需要为生产创建GO项目(第一次),我在网上搜索最佳实践并找到以下内容

https://github.com/golang-standards/project-layout

为此,我有两个主要问题.

  1. 我看到大多数go项目逻辑都在main函数内部,但是如果我需要一些带有文件的utils文件夹,我应该把它放在哪里?我不希望主要功能是500或更多行代码

  2. 在我们公司,项目应该建立如下

    myproj
      |-src
        |-cmd
        |  |-main.go
        |-utils
        |-vendor
    
    Run Code Online (Sandbox Code Playgroud)

我们公司的项目构建如上面的结构,即项目文件在src文件夹下,是不是?(这种结构类型可以在将来发生问题).

我能够在我们的风景中编译这个项目,但因为一切都在src我不确定.

mh-*_*bon 8

基于https://github.com/anacrolix/torrent

GOPATH
  |-src
    |-projectA
      |-cmd (of projectA)
        |-cmdA
          |-main.go
        |-cmdB
          |-main.go
      |-vendor
      |-pkg lib
      |-pkg libB
    |-projectB
    ...
Run Code Online (Sandbox Code Playgroud)