Avatar ·

¿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"].