Tukar Rentetan Hari Minggu kepada masa.Nilai Hari Minggu
Dalam Go, anda mungkin menghadapi keperluan untuk menukar rentetan yang mewakili hari dalam minggu dengan masa yang sepadan.Nilai hari minggu.
Satu pendekatan ialah menggunakan tatasusunan seperti:
<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>
Pendekatan Alternatif Menggunakan Peta
Untuk kecekapan yang lebih baik dan kemudahan carian, peta ialah pilihan yang lebih idiomatik:
<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>
Pilihan Penghuraian Tambahan
Menggunakan peta membolehkan anda untuk melanjutkan hari bekerja yang disokong untuk memasukkan borang yang dipendekkan:
<code class="go">for d := time.Sunday; d <= time.Saturday; d++ { name := d.String() daysOfWeek[name] = d daysOfWeek[name[:3]] = d }</code>
Ini membolehkan menghuraikan kedua-dua rentetan hari minggu penuh dan ringkas, cth., "Isnin" dan "Isnin".
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Hari dalam Minggu kepada masa.Nilai Hari Minggu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!