>백엔드 개발 >Golang >가서 대문자 키로 역마샬링하세요

가서 대문자 키로 역마샬링하세요

WBOY
WBOY앞으로
2024-02-14 09:36:091211검색

가서 대문자 키로 역마샬링하세요

php 편집기 Strawberry는 여러분에게 실용적인 기술, 즉 "가서 대문자 키로 역마샬링"을 소개하기 위해 왔습니다. 이 기술은 우리가 더 빠르고 효율적으로 프로그래밍하는 데 도움이 될 수 있습니다. 코드를 작성할 때 코드 조각에 주석을 달거나 주석 처리를 제거해야 하는 경우가 많으며 주석 기호를 수동으로 추가하거나 제거하는 것은 상대적으로 지루할 수 있습니다. 그러나 "Go, unmarshal to uppercase key" 방법을 사용하면 코드에 빠르게 주석을 달거나 주석 처리를 해제할 수 있어 작업 효율성이 크게 향상됩니다. 다음으로 구체적인 조작 방법을 함께 배워볼까요!

질문 내용

다음 키는 항상 소문자인가요? 923화

구조화되지 않은 yaml을 golangcasing 키로 역마샬링하는 가장 간단한 방법을 찾고 있습니다. 세부정보--

한번 보세요

https://go.dev/play/p/nihdqorpek1

즉,

으아아아
  • 행 10의 데이터는 항상 m의 소문자 키로 정렬 해제됩니다.
  • 대문자 키로 역마샬링하려면 19행과 같은 구조체를 미리 정의해야 합니다.
  • 그러나 제가 직면한 문제는 구조화되지 않은 yaml을 다루고 있다는 것입니다. 즉, 구조를 미리 알 수 없다는 것입니다.

후속 댓글에는 "gopkg.in/yaml.v3에서 sigs.k8s.io/yaml로 전환"이라고 했지만 sigs.k8s.io/yaml 문서를 읽어보니 여전히 그렇게 해야 한다고 생각합니다. yaml의 구조를 이해하고 번역 메커니즘을 미리 정의해야 합니다.

구조화되지 않은 yaml을 대문자/golangcasing 키로 역마샬링하는 쉬운 방법이 있습니까? 가장 쉬운 방법은 무엇입니까? Go 패키지가 이러한 기능을 기본적으로 제공하지 않는 경우, 직접 번역을 쉽게 수행할 수 있는 플러그인/콜백이 포함되어 있습니까?

해결 방법

yaml.unmarshaler 인터페이스를 구현하는 사용자 정의 키 유형을 선언할 수 있습니다.

다음과 같은 것:

으아아아

그런 다음 지도의 키로 사용하세요.

으아아아

https://www.php.cn/link/e18cfe46b96c30852b565e561152d055

위 내용은 가서 대문자 키로 역마샬링하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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