Avatar ·

Go n'a-t-il pas de fonctions strings.HasPrefix et strings.HasSuffix ? Comment vérifier le début et la fin d'une chaîne ?

Bonjour à tous ! Je viens de commencer à apprendre Go après Python et j'ai rencontré un problème inattendu. En Python, j'avais l'habitude d'écrire : ```python if "hello world".startswith("hello"): print("Commence par hello") ``` Ou : ```python if "file.txt".endswith(".txt"): print("C'est un fichier texte") ``` Mais quand j'ai essayé de faire la même chose en Go, je n'ai pas trouvé de méthodes intégrées `startswith` ou `endswith`. J'ai regardé dans la documentation du package `strings` et j'ai seulement trouvé `Contains`, `TrimPrefix`, `TrimSuffix`, mais rien qui ressemble à une vérification directe du début ou de la fin d'une chaîne. J'ai besoin d'écrire un analyseur de logs simple, où je vérifie si une ligne commence par `"[ERROR]"` ou se termine par `"CRITICAL"`. Pour l'instant, j'ai écrit une solution de contournement : ```go line := "[ERROR] something went wrong" if len(line) >= 7 && line[:7] == "[ERROR]" { fmt.Println("C'est une erreur") } ``` Mais cela semble horrible et peu fiable. Est-ce que Go n'a vraiment pas de fonctions normales pour vérifier le début et la fin d'une chaîne ? Ou est-ce que j'ai raté quelque chose ?