"Go omitempty"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;Go omitempty
;Go omitempty
<syntaxhighlight lang='go' run>
package main
import (
"encoding/json"
"fmt"
)
type Fruit struct {
Name  string `json:"name,omitempty"`
Price int    `json:"price,omitempty"`
}
func main() {
a := Fruit{Name: "apple", Price: 42}
b := Fruit{Name: "banana"}
c := Fruit{Price: 123}
m := Fruit{Name: "melon", Price: 0}
aBytes, _ := json.Marshal(a)
bBytes, _ := json.Marshal(b)
cBytes, _ := json.Marshal(c)
mBytes, _ := json.Marshal(m)
fmt.Println(string(aBytes)) // {"name":"apple","price":42}
fmt.Println(string(bBytes)) // {"name":"banana"}
fmt.Println(string(cBytes)) // {"price":123}
fmt.Println(string(mBytes)) // {"name":"melon"}
}
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[Go JSON omitempty]]
* [[Go JSON omitempty]]
* [[Go YAML omitempty]]
* [[Go YAML omitempty]]
* [[Go 빈 인터페이스]]( interface{} )


[[분류: Go JSON]]
[[분류: Go JSON]]
[[분류: Go YAML]]
[[분류: Go YAML]]

2023년 5월 27일 (토) 21:11 기준 최신판

1 개요[ | ]

Go omitempty
package main

import (
	"encoding/json"
	"fmt"
)

type Fruit struct {
	Name  string `json:"name,omitempty"`
	Price int    `json:"price,omitempty"`
}

func main() {
	a := Fruit{Name: "apple", Price: 42}
	b := Fruit{Name: "banana"}
	c := Fruit{Price: 123}
	m := Fruit{Name: "melon", Price: 0}

	aBytes, _ := json.Marshal(a)
	bBytes, _ := json.Marshal(b)
	cBytes, _ := json.Marshal(c)
	mBytes, _ := json.Marshal(m)

	fmt.Println(string(aBytes)) // {"name":"apple","price":42}
	fmt.Println(string(bBytes)) // {"name":"banana"}
	fmt.Println(string(cBytes)) // {"price":123}
	fmt.Println(string(mBytes)) // {"name":"melon"}
}

2 같이 보기[ | ]

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