문제: Golang 프로그램에서 종속성 목록을 반복하고 해당 종속성을 확인하는 bash 스크립트를 구성합니다. switch-case 문을 사용하여 해당 유형에 따라 사용자 정의된 명령을 입력하고 인쇄합니다.
답변:
다음 업데이트된 Golang 코드는 원하는 동작을 수행합니다.
<code class="go">package main import ( "log" "text/template" "gopkg.in/yaml.v2" "os" ) type File struct { TypeVersion string `yaml:"_type-version"` Dependency []Dependency } type Dependency struct { Name string Type string } func main() { f := File{} err := yaml.Unmarshal([]byte(data), &f) if err != nil { log.Fatalf("error: %v", err) } const t = ` #!/bin/bash {{range .Dependency}} echo "type is {{.Type}}" {{switch .Type}} case "runner1": echo "Submitting api1" case "runner2": echo "Submitting api2" default: echo "Unknown type" {{end}} {{end}} ` tt := template.Must(template.New("").Parse(t)) err = tt.Execute(os.Stdout, f) if err != nil { log.Println("executing template:", err) } }</code>
설명:
결과:
이 코드로 생성된 예시 bash 스크립트는 다음과 같습니다.
<code class="bash">#!/bin/bash echo "type is runner" Submitting api1 echo "type is runner2" Submitting api2</code>
추가 고려 사항:
위 내용은 Go 템플릿, Switch-Case 문 및 YAML 데이터를 사용하여 사용자 정의 Bash 스크립트를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!