¿Cómo dividir una cadena por espacios en blanco en Go? (Split string on whitespace)
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un problema. Necesito dividir una cadena en palabras, ignorando todos los caracteres de espacio en blanco (espacios, tabulaciones, saltos de línea).
Probé usar `strings.Split()`, pero solo funciona con un único delimitador. Por ejemplo, si escribo:
```go
package main
import (
"fmt"
"strings"
)
func main() {
s := "hello world\tfoo\nbar"
parts := strings.Split(s, " ")
fmt.Println(parts)
// ["hello", "", "", "world\tfoo\nbar"]
}
```
Obtengo un desorden: cadenas vacías, la tabulación no se tiene en cuenta.
Vi que en otros lenguajes (Python, Java) hay métodos integrados `split()` sin argumentos que manejan automáticamente cualquier espacio en blanco. ¿Hay algo similar en Go? ¿O necesito escribir mi propia función? Escuché que se puede usar `regexp`, pero temo que eso ralentice el programa. Indíquenme la forma óptima.
Importante: necesito dividir en palabras, no solo eliminar espacios adicionales. Ejemplo: "a b\tc" → ["a", "b", "c"].