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

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

Go模板缺少鍵選項(xiàng)始終返回錯(cuò)誤

Go模板缺少鍵選項(xiàng)始終返回錯(cuò)誤

Go
一只甜甜圈 2022-09-26 14:53:10
所以這個(gè)問題似乎以前被問過幾次,但之前的答案都不適合我,我從錯(cuò)誤到錯(cuò)誤再到?jīng)]有結(jié)果。因此,由于我肯定錯(cuò)過了一些我沒有看到的東西,因此我希望得到一些幫助:res, err := os.Create(strings.Replace(f, ".tmpl", "", -1))if err != nil {  log.Fatal(err)}t, err := template.ParseFiles(f)if err != nil {  log.Fatal(err)}removes = append(removes, res.Name())config := make(map[string]string)for _, v := range vars {  config[v] = os.Getenv(v)}err = t.Execute(res, config)if err != nil {  log.Fatal(err)}res.Close()因此,為了解釋我正在做什么,我將一個(gè)字符串傳遞給具有yaml.tmpl擴(kuò)展名的文件(路徑/文件)。結(jié)果文件應(yīng)該是 yaml,因此我刪除了最后一個(gè)部分以生成結(jié)果文件名。然后,我使用go模板解析文件,然后使用我生成的配置映射執(zhí)行。這像這樣工作正常,但我想補(bǔ)充一點(diǎn):讓我生成一個(gè)錯(cuò)誤,以防我沒有從配置映射到模板中的變量提供值。.Option("missingkey=error")所以我試圖在模板解析文件中添加選項(xiàng),如下所示:t, err := template.New("test").Option("missingkey=error").ParseFiles(f)但是我不能使用模板執(zhí)行,必須使用模板執(zhí)行模板,但對于我得到的那些:或template: no template "test" associated with template "test"template: test: "test" is an incomplete or empty template在極少數(shù)情況下,我不會(huì)收到錯(cuò)誤,它只是忽略該選項(xiàng),例如如果我這樣做:err = t.Option("missingkey=error").Execute(res, config)有沒有人知道我做錯(cuò)了什么?編輯我用櫻桃麗夢的答案更新了代碼,這里是游樂場:游樂場目前,該游樂場只是忽略錯(cuò)誤并執(zhí)行模板,即使傳遞的配置為空并且模板中沒有或條件。
查看完整描述

1 回答

?
慕田峪9158850

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

解析文件方法文檔說:

由于 ParseFiles 創(chuàng)建的模板由參數(shù)文件的基名稱命名,因此 t 通常應(yīng)具有文件(基本)名稱之一的名稱。

使用文件路徑?;?/a>數(shù) 以獲取文件的基名稱。使用該名稱作為模板的名稱:

 t, err := template.New(filepath.Base(f)).Option("missingkey=error").ParseFiles(f)

在操場上運(yùn)行一個(gè)示例


查看完整回答
反對 回復(fù) 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 68 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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