亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何更新 Go 模板,同時仍然保留原始模板變量

如何更新 Go 模板,同時仍然保留原始模板變量

Go
不負相思意 2023-07-10 16:25:03
這是一個高級問題,因為我不確定如何解決這個問題:我正在構建一個 CLI,自動為用戶設置代碼項目。我想創建一個update功能,允許用戶更新到最新的 CLI 模板版本,但仍然保留他們用于創建項目的原始變量(即項目名稱、環境變量等...)我知道如何創建新模板,但我不知道如何更新并仍然保留用戶傳遞的變量。它類似于 git merge,因此將用戶的本地項目與更新的 CLI 模板合并。var deploymentYamlData在下面的代碼中,您可以看到如何使用字符串變量對文件進行模板化的示例我有一個函數可以將所有這些文件模板組織到項目的正確目錄結構中。我將如何將目錄模板與用戶的本地目錄合并,同時能夠保留原始模板變量?如果我需要澄清更多,請提前道歉。package mainimport (    "text/template"        "os")var deploymentYamlData = `---  # do not edit commented lines  # CLI-Version: {{ .GitTagVersion}}  app: {{ .BotName }}  type: web  team: {{ .TeamName }}  docker_image: {{ .DockerImageName }}  docker_tag: {{ .TagVersion }}  internal: false  replicas: {{ .Replicas }}  revisionHistoryLimit: 5  container_port: {{ .DockerImagePort }}   healthcheck:    path: /{{ .DockerImageHealthCheck }}  dynamodb:    enable_deleteitem: true    tables:      - name: {{ .BotName }}_conversation_data`type DigitalAssistant struct {    BotName string    TeamName string    DockerImageName string    TagVersion string    Replicas int    DockerImagePort int    DockerImageHealthCheck string        GitTageVersion string}func main() {    bot := DigitalAssistant{"bobisyouruncle", "teamAwesome", "awesomebotimagename", "0.1.0", 1, 8000, "health"}    bmap, err := template.New("captain.tmpl").Parse(deploymentYamlData)    if err != nil { panic(err) }    err = bmap.Execute(os.Stdout, bot)    if err != nil { panic(err) }}
查看完整描述

目前暫無任何回答

  • 0 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號