From d7c3c55c30787ff02916feb8ca76f3502bf5df46 Mon Sep 17 00:00:00 2001 From: noobdy Date: Wed, 1 Jan 2025 19:57:35 +0800 Subject: [PATCH] fix bug again --- types/semester.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/types/semester.go b/types/semester.go index 515f67c..0dbfd01 100644 --- a/types/semester.go +++ b/types/semester.go @@ -30,16 +30,19 @@ type Semester struct { } func TimeToSemester(t time.Time) Semester { - if t.Month() >= time.September { - return Semester{ - year: t.Year(), - period: Fall, - } - } else { + switch t.Month() { + case time.February, time.March, time.April, time.May, time.June, time.July: return Semester{ year: t.Year() - 1, period: Spring, } + case time.August, time.September, time.October, time.November, time.December, time.January: + return Semester{ + year: t.Year(), + period: Fall, + } + default: + panic("impossible case: sum type in golang when") } }