Una cadena de caracteres (string) en Go es una secuencia inmutable de bytes que no necesariamente tienen que representar caracteres.
Un literal de string se define entre comillas dobles:
const name = "Jane"
Los strings se pueden concatenar mediante el operador +:
"Jane" + " " + "Austen"
// => "Jane Austen"
Algunos caracteres especiales necesitan escaparse con una barra invertida delante, como \t para una tabulación y \n para una nueva línea en los strings.
"How is the weather today?\nIt's sunny"
// =>
// How is the weather today?
// It's sunny
El paquete strings contiene muchas funciones útiles para trabajar con strings.
Para más información sobre las funciones de string, consulta la documentación del paquete strings.
Aquí tienes algunos ejemplos:
import "strings"
// strings.ToLower returns the string given as argument with all its characters lowercased
strings.ToLower("MaKEmeLoweRCase")
// => "makemelowercase"
// strings.Repeat returns a string with a substring given as argument repeated many times
strings.Repeat("Go", 3)
// => "GoGoGo"
Cerca hay una tienda de electrodomésticos llamada «Tech Palace». El dueño de la tienda ha instalado recientemente una gran pantalla para usarla con mensajes de marketing y para mostrar un saludo especial cuando los clientes escanean sus tarjetas de fidelidad en la entrada. La pantalla se compone de muchas luces LED pequeñas y puede mostrar varias líneas de texto.
El dueño de la tienda necesita tu ayuda con el código que se usa para generar el texto de la nueva pantalla.
Para la mayoría de los clientes que escanean sus tarjetas de fidelidad, el dueño de la tienda quiere ver "Welcome to the Tech Palace," seguido del nombre del cliente en mayúsculas en la pantalla.
Implementa la función WelcomeMessage, que acepta el nombre del cliente como argumento de tipo string y devuelve el mensaje deseado como string.
WelcomeMessage("Judy")
// => Welcome to the Tech Palace, JUDY
Para los clientes fieles que compran mucho en la tienda, el dueño quiere que la pantalla de bienvenida sea más llamativa añadiendo una línea de estrellas antes y después del mensaje de bienvenida. Todavía no tienen claro cuántas estrellas debe haber en las líneas, así que quieren que eso sea configurable.
Escribe una función AddBorder que acepte como argumentos un mensaje de bienvenida (un string) y el número de estrellas por línea (de tipo int).
Debe devolver un string compuesto por 3 líneas: una línea con el número de estrellas deseado, después el mensaje de bienvenida tal y como se pasó y, por último, otra línea de estrellas.
AddBorder("Welcome!", 10)
Debería devolver lo siguiente:
**********
Welcome!
**********
Antes de instalar esta nueva pantalla, la tienda tenía una pantalla parecida que solo podía mostrar líneas estáticas y no configurables. Al dueño le gustaría reutilizar algunos de los mensajes de marketing antiguos en la nueva pantalla. Sin embargo, los datos ya incluyen un borde de estrellas y algunos espacios en blanco desafortunados. Tu tarea consiste en limpiar los mensajes para que se puedan reutilizar.
Implementa una función CleanUpMessage que acepte el mensaje de marketing antiguo como un string.
La función debe eliminar primero todas las estrellas del texto y, después, eliminar los espacios en blanco al principio y al final del texto restante.
Después, la función debe devolver el mensaje ya limpio.
message := `
**************************
* BUY NOW, SAVE 10% *
**************************
`
CleanUpMessage(message)
// => BUY NOW, SAVE 10%
Regístrate en Exercism para aprender y dominar Go con 34 conceptos166 ejercicios y mentoría humana real, todo gratis.