package clock import "fmt" const testVersion = 4 type Clock struct { hour, minute int } func New(hour, minute int) Clock { for minute < 0 { minute += 60 hour -= 1 } hour += minute / 60 for hour < 0 { hour += 24 } return Clock{hour % 24, minute % 60} } func (c Clock) String() string { return fmt.Sprintf("%02d:%02d", c.hour, c.minute) } func (c Clock) Add(minutes int) Clock { return New(c.hour, c.minute+minutes) }