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

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

在 golang 模板中向地圖添加新的鍵值

在 golang 模板中向地圖添加新的鍵值

Go
滄海一幻覺 2023-07-04 09:59:59
$ hugo versionHugo Static Site Generator v0.54.0 darwin/amd64 BuildDate: unknown$ cat layouts/t/code.html  ...  {{- $json := getJSON $path -}}  {{- if eq $action "edit" -}}    {{- $json.nestedMap["action"] = "update" -}}  {{- end -}}  ...  <script type="module">    import App from "/code.js";    new App({{ $json.nestedMap | jsonify }});  </script>$json.nestedMap 是map[string]interface {}但出現(xiàn)錯誤解析失敗錯誤字符 U+005B '['感謝您的任何提示。
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗 獲得超11個贊

您收到的錯誤是因為該[字符是意外的。


事實上,這種語法在模板內(nèi)不起作用:


$json.nestedMap["action"]

您必須使用index這樣的函數(shù)來訪問地圖元素:


index $json.nestedMap "action"

但是,據(jù)我所知,該語法不允許您實際設(shè)置密鑰,而只能訪問它。


修改模板內(nèi)的映射的一種方法是在包裝器結(jié)構(gòu)中定義某些方法,然后從模板中調(diào)用該方法。


例如:


type mapWrapper struct {

    TheMap map[string]interface{}

}


func (m *mapWrapper) SetMapValue(key, value string) string {

    m.TheMap[key] = value

    return ""

}

然后在模板中:


{{- .SetMapValue "key2" "value2" }}

操場上的完整工作示例:


https://play.golang.org/p/8bT4jjYwuzg


查看完整回答
反對 回復(fù) 2023-07-04
?
犯罪嫌疑人X

TA貢獻(xiàn)2080條經(jīng)驗 獲得超4個贊

沒有內(nèi)置的方法可以做到這一點(diǎn),你需要使用一個函數(shù)來做到這一點(diǎn)。

查看完整回答
反對 回復(fù) 2023-07-04
  • 2 回答
  • 0 關(guān)注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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