구조체를 맵으로 변환하는 것은 데이터를 JSON으로 마샬링하거나 동적 객체와 상호 작용하는 등 다양한 시나리오에서 유용할 수 있습니다. 시스템. 이 질문은 표준 라이브러리와 타사 패키지를 모두 활용하여 Go에서 이러한 변환을 수행하는 방법을 탐구합니다.
이 질문은 Reflect 패키지를 사용한 원래 구현을 제시합니다.
func ConvertToMap(model interface{}) bson.M { // ... Implementation }
그러나 원래 구현은 리플렉션에 크게 의존하므로 성능에 영향을 미칠 수 있으며 사용자 정의 필드와 같은 기능을 지원하지 않습니다. 태그.
허용된 답변에서는 구조체에서 맵으로 강력하고 효율적인 변환을 제공하는 편리한 타사 솔루션인 구조체 패키지를 소개합니다.
import "github.com/fatih/structs" type Server struct { Name string ID int32 Enabled bool } // Convert to a map m := structs.Map(&Server{ Name: "gopher", ID: 123456, Enabled: true, })
구조체 패키지는 원본에 비해 여러 가지 장점을 제공합니다. 구현:
위 내용은 Go 구조체를 맵으로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!