英文:
Why can't I find any go package which follows the standard src/pkg/bin structure?
问题
我是一个golang的初学者,我正在阅读go官网上的文章如何编写Go代码。文章解释了典型的Go项目结构在项目的根目录下包含三个文件夹:
bin/
包含编译后的代码
pkg/
包含包对象
src/
包含Go源代码文件
所以为了从其他项目中学习,我查看了一些在GitHub上受欢迎的Go项目,但令我惊讶的是,这些项目中没有看到src/pkg/bin这样的结构。
我在这里错过了什么?有人知道一个(最好是简单的)遵循这种结构的Go项目吗?我认为通过阅读其他人的代码我可以学到很多。
英文:
I'm a beginner in golang, and I was reading the article How to write Go code on the go website. It explains how the typical Go structure contains three folders in the root of the project:
bin/
contains compiled code
pkg/
contains package objects
src/
contains the Go source files
So to learn from other projects I checked out some popular go projects in github, but to my surprise I don't see this src/pkg/bin structure in any of those projects.
What am I missing here? Does anybody know a (preferably simple) project in golang which follows this structure? I think I could learn a lot from reading other people's code.
答案1
得分: 1
你在问题中提到的结构并不是项目的结构,而是本地工作空间的配置方式。
通常情况下,你会在本地机器上设置一个工作空间,例如将工作空间的根目录设置为:
$HOME/go
然后,你将GOPATH环境变量指向$HOME/go
,以告诉Go这是你的工作空间位置。
在工作空间中,你可以创建src
、bin
和pkg
文件夹,正如文档中所描述的那样。
在src
文件夹中,你可以检出(或创建自己的)项目文件夹。
英文:
The structure you reference in your question is not how projects are structured but rather how the local workspace is configured.
https://golang.org/doc/code.html#Workspaces
Typically, you'll set up one workspace in your local machine, for example you would set up your workspace root to be:
$HOME/go
You then point your GOPATH environment variable to $HOME/go
to let Go know that's your workspace location.
Inside your workspace you then create the src
, bin
and pkg
folders that the documentation describes.
Inside src
is where you checkout (or create your own) project folders.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论