package cards import "fmt" const ( Jack Number = 11 Queen Number = 12 King Number = 13 Ace Number = 14 Joker Number = 15 ) // порядок карты type Number byte // конвертация в строку func (s Number) String() string { return s.NameShort() } // полное наименование порядка func (s Number) Name() string { switch s { case 2, 3, 4, 5, 6, 7, 8, 9, 10: return fmt.Sprint(int(s)) case Jack: return "Jack" case Queen: return "Queen" case King: return "King" case Ace: return "Ace" case Joker: return "Joker" default: return "Undefined" } } // краткое наименование порядка func (s Number) NameShort() string { switch s { case 2, 3, 4, 5, 6, 7, 8, 9, 10: return fmt.Sprint(int(s)) case Jack: return "J" case Queen: return "Q" case King: return "K" case Ace: return "A" case Joker: return "JR" default: return "" } } // проверка, корректно ли объявлен порядок func (s Number) IsValid() bool { return s >= 2 && s <= Joker }