특정 시나리오에서는 편의를 위해 Golang의 구조체를 맵으로 변환해야 할 수도 있습니다. 이는 Reflect 및 json 패키지를 통해 달성할 수 있습니다.
한 가지 접근 방식은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!