將星期幾字串轉換為時間。工作日值
在 Go 中,您可能會遇到需要轉換表示星期幾到其對應的時間。工作日值。
一種方法是使用以下數組:
<code class="go">var daysOfWeek = [...]string{ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", } func parseWeekday(v string) (time.Weekday, error) { for i := range daysOfWeek { if daysOfWeek[i] == v { return time.Weekday(i), nil } } return time.Sunday, fmt.Errorf("invalid weekday '%s'", v) }</code>
使用地圖的替代方法
為了提高效率和便於查找,地圖是更慣用的選擇:
<code class="go">var daysOfWeek = map[string]time.Weekday{ "Sunday": time.Sunday, "Monday": time.Monday, "Tuesday": time.Tuesday, "Wednesday": time.Wednesday, "Thursday": time.Thursday, "Friday": time.Friday, "Saturday": time.Saturday, } func parseWeekday(v string) (time.Weekday, error) { if d, ok := daysOfWeek[v]; ok { return d, nil } return time.Sunday, fmt.Errorf("invalid weekday '%s'", v) }</code>
其他解析選項
使用地圖可以讓您擴展支援的工作日以包括縮寫形式:
<code class="go">for d := time.Sunday; d <= time.Saturday; d++ { name := d.String() daysOfWeek[name] = d daysOfWeek[name[:3]] = d }</code>
這可以解析完整和縮寫的工作日字串,例如“Monday”和“Mon”。
以上是如何在 Go 中將星期幾字串轉換為 time.Weekday 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!