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

 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
8번째 줄: 8번째 줄:
import (
import (
         "fmt"
         "fmt"
         "gopkg.in/yaml.v2"
         "gopkg.in/yaml.v3"
)
)


23번째 줄: 23번째 줄:
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
}
}
bytes, err := yaml.Marshal(colorGroup)
yamlBytes, err := yaml.Marshal(colorGroup)
if err != nil {
if err != nil {
fmt.Println("error:", err)
fmt.Println("error:", err)
}
}
fmt.Println(string(bytes))
fmt.Println(string(yamlBytes))
}
}
</syntaxhighlight>
</syntaxhighlight>
36번째 줄: 36번째 줄:
import (
import (
         "fmt"
         "fmt"
         "gopkg.in/yaml.v2"
         "gopkg.in/yaml.v3"
)
)


55번째 줄: 55번째 줄:
},
},
}
}
bytes, err := yaml.Marshal(animals)
yamlBytes, err := yaml.Marshal(animals)
if err != nil {
if err != nil {
fmt.Println("error:", err)
fmt.Println("error:", err)
}
}
fmt.Println(string(bytes))
fmt.Println(string(yamlBytes))
}
}
</syntaxhighlight>
</syntaxhighlight>

2023년 2월 3일 (금) 16:07 기준 최신판

1 개요[ | ]

Go YAML Marshal()
  • 구조체 → YAML

2 예시: ColorGroup[ | ]

package main
import (
        "fmt"
        "gopkg.in/yaml.v3"
)

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

func main() {
	colorGroup := ColorGroup{
		ID:     1,
		Name:   "Reds",
		Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
	}
	yamlBytes, err := yaml.Marshal(colorGroup)
	if err != nil {
		fmt.Println("error:", err)
	}
	fmt.Println(string(yamlBytes))
}

3 예시: Animals[ | ]

package main
import (
        "fmt"
        "gopkg.in/yaml.v3"
)

type Animal struct {
	Name  string
	Order string
}

func main() {
	animals := []Animal{
		{
			Name: "Platypus",
			Order: "Monotremata",
		},
		{
			Name: "Quoll",
			Order: "Dasyuromorphia",
		},
	}
	yamlBytes, err := yaml.Marshal(animals)
	if err != nil {
		fmt.Println("error:", err)
	}
	fmt.Println(string(yamlBytes))
}

4 같이 보기[ | ]

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