> 백엔드 개발 > Golang > String() 함수 없이 Go Enum 이름을 얻는 방법은 무엇입니까?

String() 함수 없이 Go Enum 이름을 얻는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-27 09:10:09
원래의
337명이 탐색했습니다.

How to Get Go Enum Names Without a String() Function?

String() 함수 없이 Enum 이름을 얻는 방법?

iota를 통해 구현된 Go 열거에는 명시적인 String() 함수가 부족하여 직접 검색이 제한됩니다. 열거형 이름을 문자열로. 이 기사에서는 이러한 제한을 극복하고 레이블을 다시 입력하지 않고도 열거형 이름을 얻을 수 있는 대안을 살펴봅니다.

가능한 해결책 중 하나는 표준 도구 패키지의 스트링거 도구를 활용하는 것입니다. 이 도구는 열거형 유형에 대한 String() 함수 생성을 자동화합니다.

예를 들어 다음 열거형 정의를 고려하세요.

const (
    MERCURY = 1
    VENUS = iota
    EARTH
    MARS
    JUPITER
    SATURN
    URANUS
    NEPTUNE
    PLUTO
)
로그인 후 복사

이 열거형에 대한 String() 함수를 생성하려면 , 터미널에서 다음 명령을 실행합니다.

stringer -type=Planet
로그인 후 복사

이 명령은 생성된 파일을 포함하는 planet_string.go 파일을 현재 작업 디렉터리에 생성합니다. 기능. 이제 이 함수를 사용하여 행성 이름을 문자열로 얻을 수 있습니다.

또한 구조체 기반 또는 문자열 기반 상수 사용을 고려할 수 있습니다. 이러한 접근 방식은 레이블을 한 번 다시 입력해야 하지만 특정 시나리오에서는 더 큰 유연성을 제공합니다.

위 내용은 String() 함수 없이 Go Enum 이름을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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