>백엔드 개발 >Golang >Go 구조체를 지도로 어떻게 변환할 수 있나요?

Go 구조체를 지도로 어떻게 변환할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-11 12:02:11484검색

How Can I Convert a Go Struct to a Map?

구조체를 Golang의 맵으로 변환

특정 시나리오에서는 편의를 위해 Golang의 구조체를 맵으로 변환해야 할 수도 있습니다. 이는 Reflect 및 json 패키지를 통해 달성할 수 있습니다.

Reflect 패키지 사용

한 가지 접근 방식은 Reflect 패키지를 활용하여 구조체의 구조를 검사하고 동적으로 지도를 구축합니다. 이는 제공된 ConvertToMap 함수를 사용하여 수행할 수 있습니다:

<br>func ConvertToMap(model 인터페이스{}) bson.M {</p>
<pre class="brush:php;toolbar:false">ret := bson.M{}

modelReflect := reflect.ValueOf(model)
... // Implementation

return ret

}
< /pre>

구조체 활용 패키지

또는 structs 패키지는 편리하고 포괄적인 솔루션을 제공합니다. 구조체를 맵으로 변환하는 것을 포함하여 구조체와 관련된 다양한 작업을 지원합니다. 예를 들어, 다음 코드 조각은 Map 함수를 활용합니다:

<br>type Server struct {</p>
<pre class="brush:php;toolbar:false">Name string
ID int32
Enabled bool

}

s := &Server{

Name: "gopher",
ID: 123456,
Enabled: true,

}

m := structs.Map(s) // => {"Name":"gopher", "ID":123456, "Enabled":true}

structs 패키지는 익명(내장) 필드 및 중첩 구조체와 같은 시나리오를 처리합니다. . 또한 필드 태그를 사용하여 필드를 필터링하는 옵션도 제공합니다.

위 내용은 Go 구조체를 지도로 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.