"Go YAML to Map"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 3개는 보이지 않습니다)
2번째 줄: 2번째 줄:
;Go YAML to map
;Go YAML to map


==1 depth YAML →  Map==
<syntaxhighlight lang='go' run>
package main
import (
"fmt"
"gopkg.in/yaml.v2"
)
func main() {
var bytes = []byte(`
brand: Ford
model: Mustang
year: 1964
`)
var pairs map[string]string
err := yaml.Unmarshal(bytes, &pairs)
if err != nil {
fmt.Println("error:", err)
}
fmt.Printf("%+v\n", pairs)
// {Pairs:map[brand:Ford model:Mustang year:1964]}
for k, v := range pairs {
fmt.Println("k:", k, "=> v:", v)
}
}
</syntaxhighlight>
==2 depth YAML → Map in Struct ==
<syntaxhighlight lang='go' run>
<syntaxhighlight lang='go' run>
package main
package main
41번째 줄: 73번째 줄:
* [[Go YAML]]
* [[Go YAML]]
* [[Go JSON to Map]]
* [[Go JSON to Map]]
* [[Go YAML Unmarshal()]]


[[분류: Go YAML]]
[[분류: Go YAML]]
[[분류: Go 맵]]
[[분류: Go 맵]]

2022년 1월 6일 (목) 17:20 기준 최신판

1 개요[ | ]

Go YAML to map

2 1 depth YAML → Map[ | ]

package main

import (
	"fmt"

	"gopkg.in/yaml.v2"
)

func main() {
	var bytes = []byte(`
brand: Ford
model: Mustang
year: 1964
`)
	var pairs map[string]string
	err := yaml.Unmarshal(bytes, &pairs)
	if err != nil {
		fmt.Println("error:", err)
	}

	fmt.Printf("%+v\n", pairs)
	// {Pairs:map[brand:Ford model:Mustang year:1964]}

	for k, v := range pairs {
		fmt.Println("k:", k, "=> v:", v)
	}
}

3 2 depth YAML → Map in Struct[ | ]

package main

import (
	"fmt"

	"gopkg.in/yaml.v2"
)

type PairsStruct struct {
	Pairs map[string]string
}

func main() {
	var bytes = []byte(`
pairs:
  brand: Ford
  model: Mustang
  year: 1964
`)
	var pairsStruct PairsStruct
	err := yaml.Unmarshal(bytes, &pairsStruct)
	if err != nil {
		fmt.Println("error:", err)
	}

	fmt.Printf("%+v\n", pairsStruct)
	// {Pairs:map[brand:Ford model:Mustang year:1964]}

	for k, v := range pairsStruct.Pairs {
		fmt.Println("k:", k, "=> v:", v)
	}
}

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}