30 строки
534 Б
Go
30 строки
534 Б
Go
package schet
|
|
|
|
import (
|
|
"errors"
|
|
)
|
|
|
|
type Цели struct {
|
|
год *Год
|
|
Кварталы []*Квартал
|
|
}
|
|
|
|
func NewЦели(год *Год) *Цели {
|
|
c := &Цели{
|
|
год: год,
|
|
}
|
|
return c
|
|
}
|
|
|
|
func (c *Цели) Квартал(in int) (k *Квартал, e error) {
|
|
e = errors.New("неизвестный квартал")
|
|
|
|
if in < НомерПервогоКвартала || in > НомерПоследнегоКвартала {
|
|
return
|
|
}
|
|
|
|
index := in - 1
|
|
k = c.Кварталы[index]
|
|
e = nil
|
|
return
|
|
}
|