Comment diviser une chaîne par des espaces en Go ? (Split string on whitespace)
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai un problème. Je dois diviser une chaîne en mots, en ignorant tous les caractères d'espacement (espaces, tabulations, sauts de ligne).
J'ai essayé d'utiliser `strings.Split()`, mais elle ne fonctionne qu'avec un seul séparateur. Par exemple, si j'écris :
```go
package main
import (
"fmt"
"strings"
)
func main() {
s := "hello world\tfoo\nbar"
parts := strings.Split(s, " ")
fmt.Println(parts)
// ["hello", "", "", "world\tfoo\nbar"]
}
```
C'est un désastre — des chaînes vides, la tabulation n'est pas prise en compte.
J'ai vu que dans d'autres langages (Python, Java), il existe des méthodes intégrées `split()` sans arguments qui gèrent automatiquement tous les espaces. Y a-t-il quelque chose de similaire en Go ? Ou dois-je écrire ma propre fonction ? J'ai entendu dire qu'on peut utiliser `regexp`, mais j'ai peur que cela ralentisse le programme. Indiquez-moi la méthode optimale.
Important : j'ai besoin de diviser en mots, pas seulement de supprimer les espaces superflus. Exemple : "a b\tc" → ["a", "b", "c"].