Tukar Rentetan Hari Minggu kepada masa.Hari Minggu
Dalam Go, pakej masa tidak menawarkan fungsi terbina dalam untuk menukar rentetan yang mewakili hari dalam seminggu menjadi masa.Nilai hari minggu. Jadi, penyelesaian biasa ialah mencipta fungsi tersuai untuk melaksanakan penukaran ini.
Satu pendekatan ialah menggunakan tatasusunan untuk menyimpan nama hari bekerja dan masa yang sepadan.Nilai hari minggu. Walau bagaimanapun, penyelesaian yang lebih cekap dan idiomatik adalah dengan menggunakan peta.
Menggunakan Peta untuk Penukaran:
Peta menyediakan carian yang lebih pantas dan terus berbanding tatasusunan. Berikut ialah coretan yang menunjukkan pendekatan ini:
<code class="go">var daysOfWeek = map[string]time.Weekday{ "Sunday": time.Sunday, "Monday": time.Monday, // ... and so on for all weekdays } 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>
Memulakan Peta dengan Selamat:
Untuk memastikan pemulaan yang betul, anda boleh menggunakan gelung for untuk mengisi peta daysOfWeek:
<code class="go">var daysOfWeek = map[string]time.Weekday{} func init() { for d := time.Sunday; d <= time.Saturday; d++ { daysOfWeek[d.String()] = d } }</code>
Memperluaskan Penukaran:
Penyelesaian berasaskan peta membolehkan sambungan mudah. Sebagai contoh, anda boleh menambah nama hari minggu pendek 3 huruf sebagai input yang sah:
<code class="go">func init() { // ... existing initialization code for d := time.Sunday; d <= time.Saturday; d++ { name := d.String() daysOfWeek[name] = d daysOfWeek[name[:3]] = d } }</code>
Kesimpulan:
Menggunakan peta untuk penukaran rentetan hari minggu dalam Go ialah kedua-duanya cekap dan fleksibel. Ia membolehkan carian mudah, permulaan selamat dan sambungan mudah untuk menampung format input alternatif.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Hari Dalam Minggu kepada `time.Weekday` dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!