package data import ( "os" "gopkg.in/yaml.v3" ) type Grades []Grade type Grade struct { Grade int `yaml:"Grade"` Rate float64 `yaml:"Rate0"` SpecialTable int `yaml:"Special_Table"` SpecialRate float64 `yaml:"Special_Rate"` } func NewGradesFromFile(path string) (Grades, error) { out := []Grade{} bts, err := os.ReadFile(path) if err != nil { return nil, err } err = yaml.Unmarshal(bts, &out) if err != nil { return nil, err } return out, nil }