大佬教程收集整理的这篇文章主要介绍了Golang 之 工程结构,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一个 workspace 包含多个版本控制仓库(version control repositories,例如 Git),即一个 workspace 包含多个 go 工程.
每个版本控制仓库(工程) 包含一个或多个包
包的路径决定了它的 import 路径.
一个 workspace 就是一个目录的层次结构,并且在顶层目录中包含如下三个子目录:
src,包含多个版本控制仓库(即 工程).
pkg,包含编译后的 package 对象
bin,包含编译后的可执行文件.
一个典型的 workspace 如下:
bin/ Hello # command executable outyet # command executable pkg/ linux_amd64/ github.com/golang/example/ Stringutil.a # package object src/ github.com/golang/example/ .git/ # Git repository Metadata Hello/ Hello.go # command source outyet/ main.go # command source main_test.go # test source Stringutil/ reverse.go # package source reverse_test.go # test source golang.org/x/image/ .git/ # Git repository Metadata bmp/ reader.go # package source writer.go # package source ... (many more repositories and packages omitted) ...
上面的 workspace 包含了两个仓库(example 和 imagE). example 仓库中有两个 command(Hello 和 outyet) 和一个库(Stringutil). image 仓库包含 bmp 包和其他的文件.
GOPATH 环境变量指定了 workspace 的目录,我们仅仅指定这个环境变量就可以进行 Go 的开发了.
一个 import path 是一个唯一标识一个包的字符串. 一个包的 import path 由这个包在 workspace 中的路径决定,或者与这个包所在的远程仓库有关.
如果代码是使用代码仓库管理(例如 Github),那么 Go 建议使用仓库名作为包的基路径. 例如 github.com/yongshun 是包的基路径,我们如果需要创建一个名为 Hello 的工程,那么它的包路径就是 github.com/yongshun/Hello
package name
注意,根据 GO 规定,包名是一个包的 import path 的最后一个元素,即如果 import path 是 "com/xys/Hello",则包名必须是 Hello.
可执行的 command 的包名必须是 main.
即使是链接到同一个 binary 中,Go 也不要求所有的包名是唯一的,即链接到一个 binary 中的包名可以是重复的,只要包对应的 import path 是唯一的即可.
以上是大佬教程为你收集整理的Golang 之 工程结构全部内容,希望文章能够帮你解决Golang 之 工程结构所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。