cjaewon / TIL

🤯 2021, Today I Learend
2 stars 0 forks source link

Golang mapstructure 타입 캐스트 방법 #3

Open cjaewon opened 3 years ago

cjaewon commented 3 years ago

아래처럼 대문자로 해주어야 접근이 가능하여 값들을 Decode 한 후 맵핑해준다. 소문자로 작성해서 Decode 할때 오류가 났었다.

type Step struct {
    Name string                 `mapstructure:"name"`
    Run  string                 `mapstructure:"run"`
    Uses string                 `mapstructure:"uses"`
    With map[string]interface{} `mapstructure:"with"`
}

var steps []Step

trigger := config.GetString("on.push.trigger")
err := config.UnmarshalKey(fmt.Sprintf("jobs.%s.steps", trigger), &steps)
cjaewon commented 3 years ago

https://pkg.go.dev/github.com/mitchellh/mapstructure?readme=expanded#section-readmeBut Why 참조