Resumen: en este post te mostraré a usar la función strings.Split de Go, la cual sirve para separar una cadena y convertirla a un arreglo utilizando un delimitador o separador, por ejemplo, la coma.

Separar cadena usando delimitador en Go

La función strings.Split tiene la siguiente sintaxis:

arreglo := strings.Split(cadena, delimitador)

En donde cadena es la cadena que vamos a separar, delimitador es el separador que vamos a usar y finalmente arreglo es una lista limpia de cada elemento de cadena separado por delimitador.

Para usar esta función se debe importar strings.

Ejemplo de strings.Split en Go

Veamos un ejemplo, pues así se entiende de mejor manera:

package main

/*
	Separar una cadena usando un delimitador
	en Go; a través de la función Split

	https://parzibyte.me/blog/
*/
import (
	"fmt"
	"strings"
)

func main() {
	nombres := "Luis,María José,Fernando,John Galt"
	delimitador := ","
	nombresComoArreglo := strings.Split(nombres, delimitador)
	for _, nombre := range nombresComoArreglo {
		fmt.Println(nombre)
	}
}
/*
Salida:
Luis
María José
Fernando
John Galt
*/

En este caso tenemos una cadena separada por comas. Usamos el carácter "," como separador y después iteramos la lista con un range.

En cada paso del ciclo imprimimos el nombre, con la salida que igualmente se ve en el código.

Usar delimitador más largo

Cabe mencionar que el delimitador puede tener más de un carácter y que de hecho puede ser una cadena:

package main

/*
	Separar una cadena usando un delimitador
	de varios caracteres
	en Go; a través de la función Split

	https://parzibyte.me/blog/
*/
import (
	"fmt"
	"strings"
)

func main() {
	cadena := "--Hola--Mundo--Ejemplo--Parzibyte.me"
	delimitador := "--"
	arreglo := strings.Split(cadena, delimitador)
	for _, separado := range arreglo {
		fmt.Println(separado)
	}
}

Otro delimitador válido es el salto de línea \n, la tabulación \t, así como el espacio " ".

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto