> 백엔드 개발 > Golang > golang에서 가져온 패키지가 받은 구조에서 특정 항목을 제거하는 방법은 무엇입니까?

golang에서 가져온 패키지가 받은 구조에서 특정 항목을 제거하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-02-06 08:40:06
앞으로
1015명이 탐색했습니다.

如何从 golang 中导入的包接收的结构中删除某些项目?

질문 내용

가져온 타사 모듈 패키지에서 프로젝트를 받았습니다:

myitem := importpackage.get()

다음과 같은 구조입니다:

으아아아

그 중 하나 이상을 삭제하고 내 golang gin API에서 json으로 반환하고 싶습니다.

c.json(200, &myitem)

문제는 이를 위해 자원을 가장 효율적으로 사용하는 방법을 찾으려는 것입니다.

루프를 만들고 필요한 필드를 새로운 구조에 작성하는 방법을 생각했습니다.

으아아아

또한 API를 통해 반환하기 전에 다른 구조체에 할당하기 위해 마샬링한 다음 역마샬링하는 것을 고려했습니다.

으아아아

이 작업을 수행하는 더 효율적인 방법을 찾고 싶습니다. myitem 300만 줄 이상의 json이 있고 모든 것을 반복할 수 있습니다. 또는 마샬링 및 역마샬링에 더 많은 프로세스가 포함되는 것처럼 보이면 비교적 간단한 것을 구현하면 됩니다.

EDIT: 구조는 슬라이스([])입니다.


정답


다른 레이블이 있는 기존 구조의 복사본인 새 구조 정의:

으아아아

그런 다음 이 새로운 구조를 사용하여 마샬링합니다.

으아아아

새 구조가 가져온 구조와 필드별로 호환되는 한 이는 작동합니다.

위 내용은 golang에서 가져온 패키지가 받은 구조에서 특정 항목을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿