Wochentagszeichenfolge in time.Weekday konvertieren
In Go wird die Konvertierung einer Wochentagszeichenfolge in einen time.Weekday-Wert nicht direkt unterstützt durch das eingebaute Zeitpaket. Um dieses Problem zu beheben, implementieren Benutzer häufig benutzerdefinierte Funktionen für die Konvertierung.
Benutzerdefinierte Funktion mit Array
Ein Ansatz besteht darin, ein Array zu erstellen, das Wochentagszeichenfolgen der Zeit zuordnet. Wochentagswerte. Diese Methode kann jedoch aufgrund der linearen Suche, die erforderlich ist, um den entsprechenden Wochentag zu finden, ineffizient sein.
Verbesserte Funktion mithilfe einer Karte
Eine effizientere Lösung ist die Verwendung einer Karte anstelle eines Arrays. Dies ermöglicht schnellere Suchvorgänge und eine einfachere Implementierung. Durch Initialisieren der Karte mit Schlüssel-Wert-Paaren von Wochentagszeichenfolgen und den entsprechenden time.Weekday-Werten kann die Funktion eine direkte Suche durchführen, um den gewünschten time.Weekday-Wert zu erhalten.
Beispielimplementierung:
<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>
Testen:
<code class="go">fmt.Println(parseWeekday("Monday")) // Output: Monday <nil> fmt.Println(parseWeekday("Friday")) // Output: Friday <nil> fmt.Println(parseWeekday("Invalid")) // Output: Sunday invalid weekday 'Invalid'</code>
Erweiterung zum Parsen von Kurznamen
Zusätzlich die Karte -basierter Ansatz kann erweitert werden, um kurze Wochentagsnamen zu analysieren (z. B. „Mo“ für Montag), indem die Karte sowohl mit den vollständigen als auch mit den Kurznamen initialisiert wird.
Fazit
Die Verwendung eines kartenbasierten Ansatzes zum Konvertieren von Wochentagszeichenfolgen in Zeitangaben. Wochentagswerte sind eine empfohlene und idiomatische Technik in Golang. Es bietet schnellere Suchvorgänge und Flexibilität bei der Verarbeitung sowohl vollständiger als auch kurzer Wochentagsnamen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Wochentagszeichenfolge in time.Weekday in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!