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

(새 문서: ==개요== ;Go YAML Marshal() <syntaxhighlight lang='go' run> package main import ( "fmt" "log" "gopkg.in/yaml.v2" ) var data = ` a: Easy! b: c: 2 d: [3,...)
 
 
(같은 사용자의 중간 판 10개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;Go YAML Marshal()
;Go YAML Marshal()
* 구조체 →  YAML


==예시: ColorGroup==
<syntaxhighlight lang='go' run>
<syntaxhighlight lang='go' run>
package main
package main
import (
import (
         "fmt"
         "fmt"
        "log"
         "gopkg.in/yaml.v3"
         "gopkg.in/yaml.v2"
)
)
var data = `
 
a: Easy!
type ColorGroup struct {
b:
ID    int
  c: 2
Name   string
  d: [3, 4]
Colors []string
`
type T struct {
        A string
        B struct {
                RenamedC int   `yaml:"c"`
                D        []int `yaml:",flow"`
        }
}
}
func main() {
func main() {
type ColorGroup struct {
colorGroup := ColorGroup{
ID    int
Name  string
Colors []string
}
group := ColorGroup{
ID:    1,
ID:    1,
Name:  "Reds",
Name:  "Reds",
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},
}
}
b, err := yaml.Marshal(group)
yamlBytes, err := yaml.Marshal(colorGroup)
if err != nil {
if err != nil {
fmt.Println("error:", err)
fmt.Println("error:", err)
}
}
os.Stdout.Write(b)
fmt.Println(string(yamlBytes))
}
}
</syntaxhighlight>
</syntaxhighlight>
==예시: Animals==
<syntaxhighlight lang='go' run>
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))
}
</syntaxhighlight>
==같이 보기==
* [[Go YAML Unmarshal()]]
* [[Go JSON Marshal()]]
[[분류: Go YAML]]

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 }}