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

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

Mary-Kate Olsen
풀어 주다: 2024-12-11 12:02:11
원래의
486명이 탐색했습니다.

How Can I Convert a Go Struct to a Map?

구조체를 Golang의 맵으로 변환

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

Reflect 패키지 사용

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

<br>func ConvertToMap(model 인터페이스{}) bson.M {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">ret := bson.M{}

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

return ret
로그인 후 복사

}
< /pre>

구조체 활용 패키지

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

<br>type Server struct {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이전 기사:Go에서 정적과 같은 지역 변수 지속성을 어떻게 얻을 수 있나요? 다음 기사:Go에서 사용자 정의 인증서 또는 신뢰할 수 없는 인증서를 사용하여 HTTPS 요청을 처리하는 방법은 무엇입니까?
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
관련 주제
더>
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿