如何比较go模板中的字符串?
我想显示将如何比较go模板中的字符串?,go,kubernetes,go-templates,Go,Kubernetes,Go Templates,我想显示将.metadata.labels.app设置为“myapp”值的条目 命令: kubectl get pods -o go-template --template="{{range .items}}{{if eq .metadata.labels.app "myapp"}}{{.metadata.name}} {{end}}{{end}}" 它给出了一个错误: 输出:1:未定义函数“myapp” 结构如下所示: - apiVersion: v1 kind: Pod metad
.metadata.labels.app
设置为“myapp”
值的条目
命令:
kubectl get pods -o go-template --template="{{range .items}}{{if eq .metadata.labels.app "myapp"}}{{.metadata.name}} {{end}}{{end}}"
它给出了一个错误:
输出:1:未定义函数“myapp”
结构如下所示:
- apiVersion: v1
kind: Pod
metadata:
creationTimestamp: 2017-09-15T08:18:26Z
generateName: myapp-2830765207-
labels:
app: myapp
pod-template-hash: "2830765207"
name: myapp-2830765207-dh359
namespace: default
我以前没有使用过kubetcl,但我对shell命令基本上很熟悉,从中我可以告诉您出了什么问题,也许这就是您所需要的。(我对Go模板也有点熟悉,你的字符串比较在我看来很好。)通过在模板周围和模板内使用双引号,你实际上在
“myapp”
中第一个双引号处关闭了作为模板传入的字符串。在模板周围使用单引号应有助于:
kubectl get pods -o go-template --template='{{range .items}}{{if eq .metadata.labels.app "myapp"}}{{.metadata.name}} {{end}}{{end}}'
是的,这是一个倾向于立即责怪我们不知道的工具的例子。