登录
首页 >  Golang >  Go问答

如何在字符串数组上循环

来源:stackoverflow

时间:2024-04-02 15:21:31 268浏览 收藏

golang学习网今天将给大家带来《如何在字符串数组上循环》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我有一个用golang实现的命令行工具,工作正常。 我想执行一些应该提供字符串列表的命令

apps := $(shell fxt run apps)
apps:
    @echo $(apps) is called

在终端中,我在执行 make 时看到以下内容(完全没问题)

[app1 app2] is called

由于命令 fxt 运行 apps 返回字符串数组 (var apps []string)

我的问题是如何循环 apps 变量?

命令返回的数据很好,但现在我需要获取这个列表(app1 ... appn)并循环它,这个问题我不清楚,我如何循环数组字符串?

特殊情况是,如果在循环列表中我得到了 app7 应该如何在代码中进行分叉,例如 if(app7) 打印 mvn clean install

示例。

对于每个应用程序(在应用程序列表中),我需要运行命令

go 测试./...

但是对于需要运行的app7

mvn 全新安装

对于 app10

yarn


解决方案


您想在 make 本身或实际上正在执行 shell 的配方中运行循环吗?在这里你两者都有!

备注:我自己替换了执行的命令来测试一下。这里我使用 ls 来填充我的数组。

apps := $(shell ls)

#looping in make itself
$(foreach var,$(apps),$(info in the loop running with make: $(var)))

#loop in shell inside recipe 
go:
    @for v in $(apps) ; do \
        echo inside recipe loop with sh command: $$v ; \
    done

输出:

In the loop running with make: a
In the loop running with make: b
In the loop running with make: c
In the loop running with make: Makefile
inside recipe loop with sh command: a
inside recipe loop with sh command: b
inside recipe loop with sh command: c
inside recipe loop with sh command: Makefile

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何在字符串数组上循环》文章吧,也可关注golang学习网公众号了解相关技术文章。

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