Maison > Article > développement back-end > Comment convertir une chaîne de jour de la semaine en time.Weekday en Go ?
Convertir la chaîne du jour de la semaine en heure.Jour de la semaine
Dans Go, la conversion d'une chaîne de jour de la semaine en une heure.La valeur du jour de la semaine n'est pas directement prise en charge par le package de temps intégré. Pour résoudre ce problème, les utilisateurs implémentent souvent des fonctions personnalisées pour la conversion.
Fonction personnalisée utilisant un tableau
Une approche consiste à créer un tableau mappant les chaînes du jour de la semaine à l'heure. Valeurs en semaine. Cependant, cette méthode peut s'avérer inefficace en raison de la recherche linéaire requise pour trouver le jour de la semaine correspondant.
Fonction améliorée utilisant la carte
Une solution plus efficace consiste à utiliser une carte au lieu d'un tableau. Cela permet des recherches plus rapides et une mise en œuvre plus simple. En initialisant la carte avec des paires clé-valeur de chaînes de jour de la semaine et leurs valeurs time.Weekday correspondantes, la fonction peut effectuer une recherche directe pour obtenir la valeur time.Weekday souhaitée.
Exemple d'implémentation :
<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>
Test :
<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>
Extension pour analyser les noms courts
De plus, la carte L'approche basée sur l'analyse peut être étendue pour analyser les noms courts des jours de la semaine (par exemple, "Lun" pour lundi) en initialisant la carte avec les noms complets et courts.
Conclusion
Utiliser une approche basée sur une carte pour convertir les chaînes de jours de la semaine en heures. Les valeurs des jours de la semaine sont une technique recommandée et idiomatique dans Golang. Il offre des recherches plus rapides et une flexibilité pour gérer les noms de jours de semaine complets et courts.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!