Maison >développement back-end >Golang >Comment supprimer efficacement les caractères de nouvelle ligne des lignes dans Go ?

Comment supprimer efficacement les caractères de nouvelle ligne des lignes dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 03:37:02942parcourir

How to Efficiently Remove Newline Characters from Lines in Go?

Suppression des caractères de nouvelle ligne des lignes

Lorsque vous travaillez avec des fichiers texte, il est courant de rencontrer des caractères de nouvelle ligne (n) à la fin des lignes. La suppression de ces caractères peut être nécessaire pour des tâches de traitement spécifiques.

Dans l'extrait Go fourni :

for {
    read_line, _ := ReadString('\n')
    fmt.Print(read_line)
}

La fonction ReadString lit les caractères jusqu'à ce qu'elle rencontre un délimiteur spécifique, dans ce cas, la nouvelle ligne personnage. Cependant, le caractère de nouvelle ligne lui-même est inclus dans le résultat.

Pour supprimer le caractère de nouvelle ligne, une approche suggérée dans votre question consistait à supprimer le dernier caractère :

read_line = read_line[:len(read_line)-1]

Cette méthode fonctionne en découpant la chaîne pour exclure le dernier caractère. Cependant, cette approche peut devenir inefficace si les lignes sont très longues, car elle doit copier la chaîne entière à chaque fois.

Une solution plus efficace consiste à utiliser la bibliothèque de chaînes et la fonction TrimSuffix :

read_line = strings.TrimSuffix(read_line, "\n")

TrimSuffix supprime le suffixe (dans ce cas, le caractère de nouvelle ligne) de la fin de la chaîne, sans créer de nouvelle chaîne. Cette approche est moins gourmande en ressources et donc plus évolutive pour les gros fichiers texte.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn