Yaml: рдлрд╝реАрдЪрд░ рдЕрдиреБрд░реЛрдз: рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЬрдм Unmarshalling ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рд╕рд┐рддре░ 2015  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: go-yaml/yaml

рддреЛ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рдлрд╛рдЗрд▓реЗрдВ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

hosts:
  toto:
    hostname: 1.2.3.4
    port: 42

рд╕рд╛рде рд╣реА рд╕рд╛рде

Hosts:
  toto:
    HostName: 1.2.3.4
    Port: 42

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП

type File struct {
  Hosts: []Host `yaml:Hosts`,
}

type Host struct {
  HostName: string `yaml:HostName`
  Port: int `yaml:Port`
}

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкрд░ ToLower рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ; рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдХреЗрд╕ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдпрдорд▓ рд╕реНрдкреЗрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрджрд▓рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

@dhiltonp , рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореЗрд░реЗ рдкреАрдЖрд░ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдордп рд╣реИ рддреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ 3+ рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХреЗрдВред рдореИрдВрдиреЗ рднреА рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдирдорд░реНрд╢рд▓ рдкрд░ рдХреЗрд╕-рд╕реЗрдВрд╕рд┐рдЯрд┐рд╡рд┐рдЯреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЛрдЯ, рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреЗрд╕-рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ; рдореВрд▓реНрдп рдХрдо рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛: https://github.com/moul/flexyaml

рдореБрдЭреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЗрд╕ рд░реЗрдкреЛ рдХреЛ рдХрдо рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ :)

@moul , рдореЗрд░рд╛ рдкреАрдЖрд░ рдХреЗрд╡рд▓ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдХреЗрд╕ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ; рдорд╛рди рдпрдерд╛рд╡рдд рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдмрдврд╝рддреЗ рд╣реБрдП рдкреАрдЖрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрднреА рднреА рдХрд╛рдпрдо рд╣реИред рдореИрдВ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдПрдХ рдХрд╛рдВрдЯреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБред рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рднреА рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдореЗрд░реЗ рдкреАрдЖрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдпрджрд┐ рд╡рд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд░рдХ рдХреНрдпрд╛ рд╣реИред рд╣рдо рд╕рднреА рдирд┐рд░реНрдпрд╛рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░ рдХреЗ рдЕрдкрд░рдХреЗрд╕ рд╣реЛрдиреЗ рдХреА рд╕реАрдорд╛ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ... рд▓реЗрдХрд┐рди yaml рдХреЗрд╕-рд╕рдВрд╡реЗрджреА рд╣реИред рдЬрд╣рд╛рдВ _hell_ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдЕрд░рдХреЗрд╕ рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ

рдЖрдк рдореБрдЭреЗ рд╣рд░ ... рд╕рд┐рдВрдЧрд▓ ... fkn рдлрд╝реАрд▓реНрдб рдЯреИрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЕрдкрд░рдХреЗрд╕ рд╡рд░реНрдг рд╣реИред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореЗрд░рд╛ InstallVersion рдлрд╝реАрд▓реНрдб installVersion рд▓рд┐рдП yaml рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ... installversion ред рдмрдХрд╡рд╛рд╕ рдХреЗ рд▓рд┐рдПред рд▓рдЧрднрдЧ рд╣рд░... рдзрд┐рдХреНрдХрд╛рд░ рд╣реИ... рдлрд╝реАрд▓реНрдб... рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░реАрдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдореЗрд░реЗ рдЦреЗрдд рдЕрдЬреАрдм рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдкрдиреЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдХреБрдЫ рдмреЗрддреБрдХреЗ рдФрд░ рдЯреВрдЯреЗ рд╣реБрдП "рд▓реЛрдЕрд░рдХреЗрд╕ рдСрд▓ рдерд┐рдВрдЧреНрд╕" рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдХреГрдкрдпрд╛ рдЗрд╕реЗ v3 рдореЗрдВ рдареАрдХ рдХрд░реЗрдВред рдкрд┐рдЫрдбрд╝рд╛-рдЕрд╕рдВрдЧрдд рдирд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдмрд╣рд╛рд▓ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдкреВрд░реНрдг рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рднреА рдирд╣реАрдВ рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВред рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдХреЗ рдХрд╛рд░рдг рдЙрд╕ рдкрд╣рд▓реЗ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдкрддреНрд░ рдХреЗ рдареАрдХ рдмрд╛рдж, рдЖрдк рд╢реЗрд╖ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдмрд╕ рдЗрд╕реА "рдЧреЛрдЪрд╛" рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдореЗрд░реА рдЬрд┐рдВрджрдЧреА рдХреЗ 2 рдШрдВрдЯреЗ рдмрд░реНрдмрд╛рдж рд╣реЛ рдЧрдПред рдФрд░ рдЕрдм рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЕрдирдорд░реНрд╢рд▓ рдХрд░рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдЗрд╕ рдмрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рд╣рд╛рдБ, рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рдХреЛрдИ рдмрд╣рд╛рдирд╛ рдирд╣реАрдВ, рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╕-рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХреЛ рдХреЗрд╕-рд╕рдВрд╡реЗрджреА рдкреНрд░рд╛рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

michaelsauter picture michaelsauter  ┬╖  28рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dmandelin picture dmandelin  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tonglil picture tonglil  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

niemeyer picture niemeyer  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nicksnyder picture nicksnyder  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ