编程网今天将给大家带来《如何在字符串数组上循环》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习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
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何在字符串数组上循环》文章吧,也可关注编程网公众号了解相关技术文章。