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

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

王林
王林앞으로
2024-02-10 18:21:07578검색

打印 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으로 문의하시기 바랍니다. 삭제