Menghuraikan Rentetan Hari Minggu ke dalam masa.Hari Minggu: Pendekatan Idiomatik dengan Peta
Menukar rentetan hari minggu menjadi masa yang sepadan.Nilai hari minggu dalam Go memerlukan penyelesaian tersuai kerana tiada fungsi terbina dalam untuk penukaran ini. Walaupun fungsi berasaskan tatasusunan yang dibentangkan menyediakan penyelesaian yang boleh dilaksanakan, pendekatan berasaskan peta menawarkan kelebihan dalam kecekapan dan fleksibiliti.
Penyelesaian Dipertingkatkan Menggunakan Peta
Daripada menggunakan tatasusunan, menggunakan peta dengan rentetan hari minggu sebagai kunci dan masa yang sepadan. Nilai hari minggu sebagai nilai mempercepatkan carian dan memudahkan kod dengan ketara:
<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>
Faedah Pendekatan Berasaskan Peta
<code class="go">var daysOfWeek = map[string]time.Weekday{} func init() { for d := time.Sunday; d <= time.Saturday; d++ { daysOfWeek[d.String()] = d } }</code>
Meluaskan Peta untuk Input Tambahan
Pendekatan berasaskan peta ini juga membolehkan penambahan fleksibel nilai sah baharu yang boleh dihuraikan mengikut masa.Hari minggu. Contohnya, nama pendek 3 huruf hari kerja boleh disertakan dengan gelung ringkas:
<code class="go">var daysOfWeek = map[string]time.Weekday{} func init() { for d := time.Sunday; d <= time.Saturday; d++ { name := d.String() daysOfWeek[name] = d daysOfWeek[name[:3]] = d } }</code>
Sambungan ini membenarkan menghuraikan kedua-dua nama penuh hari bekerja (mis., "Isnin") dan nama hari minggu pendek (mis., "Isnin ") ke masa.Hari Minggu.
Menggunakan peta dalam konteks ini menyediakan cara yang lebih pantas, lebih mudah dan boleh dilanjutkan untuk menghuraikan rentetan hari minggu ke masa. Nilai hari minggu dalam Go.
Atas ialah kandungan terperinci Bagaimanakah Saya Menukar Rentetan Hari Minggu kepada masa. Hari Minggu dalam Pergi Dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!