Простой способ ответить на этот вопрос самостоятельно - взглянуть на стандартную библиотеку Go.
Время упаковки
import "time"
тип Weekday
A Weekday указывает день недели (воскресенье = 0, ...).
type Weekday int
const (
Sunday Weekday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
func (Weekday) Строка
func (d Weekday) String() string
Строка возвращает английское название дня («Воскресенье», «Понедельник», ...).
src/time/time.go
:
// A Weekday specifies a day of the week (Sunday = 0, ...).
type Weekday int
const (
Sunday Weekday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
var days = [...]string{
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
}
// String returns the English name of the day ("Sunday", "Monday", ...).
func (d Weekday) String() string {
if Sunday <= d && d <= Saturday {
return days[d]
}
buf := make([]byte, 20)
n := fmtInt(buf, uint64(d))
return "%!Weekday(" + string(buf[n:]) + ")"
}
Пакет fmt
import "fmt"
тип Stringer
Stringer реализуется любым значением, имеющим метод String, которыйопределяет «родной» формат для этого значения.Метод String используется для печати значений, переданных в качестве операнда, в любой формат, который принимает строку, или на неформатированный принтер, например Print.
type Stringer interface {
String() string
}