>백엔드 개발 >Golang >Go - 한 구조체를 다른 구조체에 매핑하는 관용적인 방법

Go - 한 구조체를 다른 구조체에 매핑하는 관용적인 방법

WBOY
WBOY앞으로
2024-02-11 20:03:081101검색

Go - 将一个结构映射到另一个结构的惯用方式

php editor Strawberry는 오늘 여러분에게 일반적으로 사용되는 기술인 Go를 소개합니다. 이는 한 구조를 다른 구조에 매핑하는 관용적인 방법입니다. 프로그래밍에서는 다양한 요구 사항을 충족하기 위해 하나의 데이터 구조를 다른 데이터 구조로 변환해야 하는 경우가 많습니다. Go는 이 목표를 달성하기 위한 간결하고 유연한 방법을 제공합니다. 데이터베이스 쿼리 결과, API 응답 또는 기타 데이터 변환 시나리오를 처리하든 Go를 사용하면 구조 매핑 작업을 쉽게 완료할 수 있습니다. 다음으로 Go!의 구체적인 사용법에 대해 알아보겠습니다.

질문 내용

사용자의 LDAP 데이터베이스를 쿼리하기 위해 타사 Go 언어 라이브러리를 사용하고 있습니다. 라이브러리는 내 사용자 구조에 매핑해야 하는 검색 결과의 resultuser 조각을 반환합니다. 이 두 구조는 필드 이름이 다르므로 resultuser의 특정 필드만 필요합니다. 한 구조체를 다른 구조체로 변환하는 더 관용적인 방법이 있습니까?

아래에 데모를 만들었습니다(Go Playground에도 링크되어 있음). 이 초보자에게 조언을 해주시면 미리 감사드립니다!

으아아아

구조체 필드 태그를 본 적이 있지만 더 좋은 방법이 있는지 잘 모르겠습니다.

해결 방법

저는 매핑을 다음과 같은 전용 기능으로 옮기고 싶지만 현재 가지고 있는 솔루션이 거의 최고의 솔루션이라고 생각합니다.

으아아아

그러면 mapresultstousers은 다음과 같이 됩니다:

으아아아

구조체 필드 태그를 본 적이 있지만 더 좋은 방법이 있는지 잘 모르겠습니다.

구조에 다음과 같이 주석을 달 수 있도록 무언가를 결합할 수 있습니다. user 으아아아

그러나 이를 구현하려면 여기에 제시된

패키지보다 더 많은 방법이 필요합니다. 제 동료 중 한 명이 즐겨 말했듯이 "주스는 짜낼 가치가 없습니다."라고 생각합니다. fromresultuser 复杂得多,并且需要熟悉 reflect

위 내용은 Go - 한 구조체를 다른 구조체에 매핑하는 관용적인 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제