登录
首页 >  Golang >  Go问答

构建项目中的所有 Go 模块

来源:stackoverflow

时间:2024-02-26 09:21:22 359浏览 收藏

一分耕耘,一分收获!既然都打开这篇《构建项目中的所有 Go 模块》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我正在制作一个包含一些包的 go 项目。这些是数据结构(也会有算法)。我的项目根目录如下所示:

C:.
├───array
├───binary_tree
├───heap
└───list

问题是,我想像 ci 一样添加。因此,我需要检查所有包是否构建以及所有测试是否通过。

不幸的是,我无法在项目根目录上运行 go build。我必须通过它的整个路径。我的意思是我可以编写一个脚本,调用 go build x/y/foo 然后 go build x/y/bar,但是 gitlab 上的 ci(docker 镜像)不会有这些路径,它只会 git clone 我的存储库和就是这样(因为我无法在项目根目录的相对路径上运行它,而是在 gopath 的相对路径上运行它,所以像 github.com/dabljues/project_name/array 一样)。那么测试呢?

所以问题是:我可以以某种方式为 go 项目中的所有包运行 go buildgo test 吗? (位于单独的文件夹中)


解决方案


使用 makefile。定义目标和编译它们的指令。

例如在 makefile 中定义以下内容

build:
    go build -o bin/main main.go

run:
    go run main.go

要运行只需调用:make build

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>