>백엔드 개발 >Golang >Go에서 구조체 필드에 대해 여러 이름 태그를 어떻게 정의할 수 있나요?

Go에서 구조체 필드에 대해 여러 이름 태그를 어떻게 정의할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-12-08 00:29:19899검색

How Can I Define Multiple Name Tags for a Struct Field in Go?

구조체에 여러 이름 태그 정의

지금까지 접한 것처럼 구조체 필드에 대해 여러 이름 태그를 정의해야 할 수도 있습니다. BSON 및 JSON과 같은 다양한 직렬화 형식을 수용합니다. 제공된 예는 BSON 필드 이름이 대문자임에도 불구하고 소문자 필드 이름을 유지하면서 구조체를 JSON으로 인코딩해야 함을 보여줍니다.

이 문제에 대한 해결책은 태그 문자열 구분 기호를 쉼표 대신 공백으로 구분하는 것입니다. 다음과 같이 코드를 수정하면 문제가 해결됩니다.

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}

reflect 패키지의 문서에 따르면 태그 문자열은 공백으로 구분된 "key:'value'" 쌍의 연결입니다. 각 키는 제어 문자, 공백, 따옴표 또는 콜론을 포함할 수 없는 비어 있지 않은 문자열입니다. 각 값은 큰따옴표로 묶여 있으며 Go 문자열 리터럴 구문을 따릅니다.

위 내용은 Go에서 구조체 필드에 대해 여러 이름 태그를 어떻게 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.