>백엔드 개발 >Golang >String() 메서드를 수동으로 정의하지 않고 Go Enum 이름을 어떻게 얻을 수 있나요?

String() 메서드를 수동으로 정의하지 않고 Go Enum 이름을 어떻게 얻을 수 있나요?

DDD
DDD원래의
2024-11-28 14:41:11164검색

How Can I Get Go Enum Names Without Manually Defining a String() Method?

Go에서 String() 메서드 없이 열거형 이름 가져오기

Go에서 열거형은 일반적으로 상수 값을 사용하여 표현됩니다. 열거형 값의 이름을 검색하려면 열거형 유형에 대해 정의된 String() 메서드가 필요합니다. 그러나 String() 메서드를 수동으로 생성하지 않는 것이 바람직할 수 있습니다.

Stringer 도구를 사용하는 대체 방법

std 패키지의 표준 스트링거 도구는 자동으로 String() 메서드를 생성할 수 있습니다. 열거형. 다음 열거형 정의를 고려하십시오.

const (
    MERCURY = 1
    VENUS = iota
    EARTH
    MARS
    JUPITER
    SATURN
    URANUS
    NEPTUNE
    PLUTO
)

코드가 포함된 디렉터리에서 stringer -type=TheEnum을 실행하면 TheEnum 유형에 대한 String() 메서드를 정의하는 theenum_string.go 파일이 생성됩니다.

스트링거 사용의 이점

스트링거 도구를 사용하면 다음과 같은 이점을 얻을 수 있습니다. 이점:

  • 자동 String() 메서드: String() 메서드를 생성하여 수동 작업을 줄여줍니다.
  • 일관성: 열거형 값에 대한 일관된 문자열 표현을 보장합니다.
  • Go 생성 호환성: 스트링거 도구는 go generate 명령과 잘 작동하므로 열거형 생성을 빌드 프로세스에 통합할 수 있습니다.

위 내용은 String() 메서드를 수동으로 정의하지 않고 Go Enum 이름을 어떻게 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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