[go] go 언어에서의 플래그 값을 다루는 JSON 처리 방법
Golang은 데이터 구조를 다루는 데 있어 효율적이고 강력한 언어입니다. JSON은 데이터 교환을 위해 널리 사용되는 형식이며, Golang에서는 이를 쉽게 다룰 수 있습니다. 이 글에서는 Golang에서 JSON을 다루는 방법과 플래그 값을 처리하는 방법에 대해 알아보겠습니다.
JSON 다루기
Golang의 encoding/json
패키지를 사용하여 JSON 데이터를 다룰 수 있습니다. 아래 예제는 JSON 데이터를 읽고 쓰는 방법을 보여줍니다.
먼저, 다음과 같은 구조체를 정의합니다.
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
다음으로, JSON을 읽는 방법은 다음과 같습니다.
import (
"encoding/json"
"fmt"
)
func main() {
jsonData := []byte(`{"name":"John","age":30}`)
var person Person
err := json.Unmarshal(jsonData, &person)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Name:", person.Name)
fmt.Println("Age:", person.Age)
}
JSON을 쓰는 방법은 다음과 같습니다.
func main() {
person := Person{Name: "Alice", Age: 25}
jsonData, err := json.Marshal(person)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(string(jsonData))
}
플래그 값 다루기
Golang에서는 flag
패키지를 사용하여 명령행 플래그 값을 다룰 수 있습니다. 아래 예제는 플래그 값을 처리하는 방법을 보여줍니다.
import (
"flag"
"fmt"
)
func main() {
var name string
var age int
flag.StringVar(&name, "name", "John", "The name of the person")
flag.IntVar(&age, "age", 30, "The age of the person")
flag.Parse()
fmt.Println("Name:", name)
fmt.Println("Age:", age)
}
위 예제에서 flag.StringVar
및 flag.IntVar
함수를 사용하여 문자열 및 정수형 플래그 값을 정의하고, flag.Parse
를 통해 플래그 값을 파싱합니다.
이제 Golang에서 JSON 및 플래그 값을 다루는 방법에 대해 알아보았습니다. 이러한 기능을 활용하여 데이터를 효율적으로 다룰 수 있습니다.
더 많은 정보는 Golang 공식 문서를 참고하세요.