"Go YAML Unmarshal"의 두 판 사이의 차이

잔글 (Jmnote님이 Go YAML Unmarshal() 문서를 Go YAML Unmarshal 문서로 이동했습니다)
13번째 줄: 13번째 줄:


type ColorGroup struct {
type ColorGroup struct {
ID    int
        ID    int
Name  string
        Name  string
Colors []string
        Colors []string
}
}


func main() {
func main() {
var bytes = []byte(`
        var bytes = []byte(`
id: 1
id: 1
name: Reds
name: Reds
28번째 줄: 28번째 줄:
- Maroon
- Maroon
`)
`)
var colorGroup ColorGroup
        var colorGroup ColorGroup
err := yaml.Unmarshal(bytes, &colorGroup)
        err := yaml.Unmarshal(bytes, &colorGroup)
if err != nil {
        if err != nil {
fmt.Println("error:", err)
                fmt.Println("error:", err)
}
        }
fmt.Printf("%+v", colorGroup)
        fmt.Printf("%+v", colorGroup)
}
}
</syntaxhighlight>
</syntaxhighlight>

2023년 1월 19일 (목) 13:20 판

1 개요

Go YAML Unmarshal()
  • YAML → 구조체

2 예시: ColorGroup

package main

import (
        "fmt"
        "gopkg.in/yaml.v2"
)

type ColorGroup struct {
        ID     int
        Name   string
        Colors []string
}

func main() {
        var bytes = []byte(`
id: 1
name: Reds
colors:
- Crimson
- Red
- Ruby
- Maroon
`)
        var colorGroup ColorGroup
        err := yaml.Unmarshal(bytes, &colorGroup)
        if err != nil {
                fmt.Println("error:", err)
        }
        fmt.Printf("%+v", colorGroup)
}

3 예시: Animals

package main

import (
        "fmt"
        "gopkg.in/yaml.v2"
)

type Animal struct {
	Name  string
	Order string
}

func main() {
	var bytes = []byte(`
- name: Platypus
  order: Monotremata
- name: Quoll
  order: Dasyuromorphia
`)
	var animals []Animal
	err := yaml.Unmarshal(bytes, &animals)
	if err != nil {
		fmt.Println("error:", err)
	}
	fmt.Printf("%+v", animals)
}

4 같이 보기

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