如何跨多行分割长Go模板功能?

时间:2018-04-13 12:23:02

标签: go go-templates

我在Go模板中进行了非常长的printf调用。例如:

{{ printf "mongodb://%s:%s@%s/%s?authSource=admin&replicaSet=%s&readPreference=nearest&w=majority" .Values.rocketchat.mongo.username .Values.rocketchat.mongo.password .Values.rocketchat.mongo.database .Values.mongodb-replicaset.replicaSetName | b64enc | quote }}

如何将其分成多行(如下所示)?

{{ printf "mongodb://%s:%s@%s/%s?authSource=admin&replicaSet=%s&readPreference=nearest&w=majority"
    .Values.rocketchat.mongo.username
    .Values.rocketchat.mongo.password
    .Values.rocketchat.mongo.database
    .Values.mongodb-replicaset.replicaSetName
    | b64enc | quote }}

2 个答案:

答案 0 :(得分:13)

这不可能。来自text/template文档:

  

除了原始字符串,操作可能不会跨越换行符,尽管评论可以。

答案 1 :(得分:0)

我认为您需要改用字符串文字,请参见此处的一些示例:https://golang.org/src/html/template/example_test.go