> 백엔드 개발 > Golang > golang 목록의 열거 이름을 인쇄합니다.

golang 목록의 열거 이름을 인쇄합니다.

王林
풀어 주다: 2024-02-10 18:21:07
앞으로
623명이 탐색했습니다.

打印 golang 列表的枚举名称

php 편집자 Yuzai는 Golang 목록의 열거 이름을 인쇄하는 간단하고 효과적인 방법을 소개합니다. golang에서 열거형 유형은 상수 그룹으로 표시되며, 상수 그룹을 반복하고 각 상수의 이름을 인쇄하여 이를 달성할 수 있습니다. 이 방법은 간단하고 이해하기 쉬울 뿐만 아니라 열거형을 포함하는 모든 Golang 프로그램에 적용 가능합니다. 다음 단계를 수행하면 golang 목록의 열거 이름을 쉽게 인쇄할 수 있습니다.

질문 내용

다음과 같은 열거형과 해당 문자열 함수가 있습니다. 특정 동물 값에 println을 사용하면 올바른 이름이 인쇄되어 있습니다. 하지만 전체 목록으로 인쇄하면 해당 정수 값만 인쇄됩니다. 동물원 목록을 인쇄할 때 동물 이름을 어떻게 인쇄하나요?

package main

import (
    "fmt"
)

type Animal int64

const (
    Goat Animal = iota
    Cat
    Dog
)

func (n Animal) String() string {
    switch n {
    case Goat:
        return "Goat"
    case Cat:
        return "Cat"
    case Dog:
        return "Dog"
    }
    return "?"
}

type Group struct {
    a, b Animal
}

type Zoo []Group

func main() {
    var g1,g2 *Group
    g1 = new(Group)
    g1.a = Goat
    g1.b = Cat
    g2 = new(Group)
    g2.a = Dog
    g2.b = Cat

    var z1 Zoo
    z1 = []Group{*g1,*g2}

    fmt.Println("Animal: ", Dog) // prints Dog
    fmt.Println(z1) // prints [{0 1} {3 1}]
}
로그인 후 복사

솔루션

@greedy52님 말씀대로 내보내야 합니다 ab (정답입니다).

하지만 보관하고 싶다면 private 并具有类似的输出,只需在 group 上实现 string() 방법은 다음과 같습니다.

으아악

위 내용은 golang 목록의 열거 이름을 인쇄합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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