第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Gomplate : 壞字符 U+0022 '-'

Gomplate : 壞字符 U+0022 '-'

Go
慕娘9325324 2022-07-11 17:30:49
我正在嘗試gomplate并遇到錯(cuò)誤。對(duì)于上下文,我定義了一個(gè)模板文件 test.tmplt 和一個(gè)數(shù)據(jù)源文件 dev.yaml。test.tmplt 有以下內(nèi)容:localAPIEndpoint:    advertiseAddress: {{ (datasource "k8s").api-advertise-ip }}而 dev.yaml 包含以下內(nèi)容:api-advertise-ip: 192.168.0.1如果我嘗試使用 gomplate 填寫(xiě) test.tmplt 的內(nèi)容,如下所示:gomplate -d k8s=./dev.yaml -f ./test.tmplt -o test.conf我收到以下錯(cuò)誤:09:42:44 FTL  error="template: ./test.tmplt:2: bad character U+002D '-'"在我看來(lái),它不喜歡模板文件中的“-”符號(hào)。任何解決方法?這是預(yù)期的行為嗎?編輯 1:感謝@icza 提供的答案,該答案適用于上述示例。但是,如果我將 yaml 文件修改為具有嵌套字段,它似乎會(huì)崩潰。例如dev.yaml:kubernetes:    api-advertise-ip: 192.168.0.0測(cè)試.tmplt:localAPIEndpoint:    advertiseAddress: {{ index (datasource "k8s") "kubernetes.api-advertise-ip" }}在這種情況下,輸出:gomplate -d k8s=./dev.yaml -f ./test.tmplt -o test.conf是 :localAPIEndpoint:    advertiseAddress: <no value>
查看完整描述

1 回答

?
萬(wàn)千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

你的"k8s"數(shù)據(jù)源是一個(gè) YAML 配置,你想訪問(wèn)api-advertise-ip它的屬性。

由于api-advertise-ip包含破折號(hào),因此您不能在模板中按原樣使用名稱,因?yàn)檫@是語(yǔ)法錯(cuò)誤:模板引擎嘗試將其api用作屬性名稱,而后面的破折號(hào)是語(yǔ)法錯(cuò)誤。

您必須將屬性名稱放在包含破折號(hào)的引號(hào)中:"api-advertise-ip"但是使用.選擇器也是無(wú)效的語(yǔ)法。

使用內(nèi)置index函數(shù)通過(guò)以下鍵索引 YAML 數(shù)據(jù)源:

localAPIEndpoint:
    advertiseAddress: {{ index (datasource "k8s") "api-advertise-ip" }}

gomplatetext/template在引擎蓋下使用,請(qǐng)參閱Go Playground上的工作示例。

使用時(shí)index,如果您有多個(gè)嵌套級(jí)別,請(qǐng)將每個(gè)鍵作為附加參數(shù)提供給index.

例如:

localAPIEndpoint:
    advertiseAddress: {{ index (datasource "k8s") "kubernetes" "api-advertise-ip" }}

在Go Playground上試試這個(gè)。


查看完整回答
反對(duì) 回復(fù) 2022-07-11
  • 1 回答
  • 0 關(guān)注
  • 438 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)