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 중국어 웹사이트의 기타 관련 기사를 참조하세요!