Tracks
/
Go
Go
/
Ejercicios
/
¡Te damos la bienvenida a Tech Palace!
¡Te damos la bienvenida a Tech Palace!

¡Te damos la bienvenida a Tech Palace!

Ejercicio de aprendizaje

Introducción

Un string (una cadena) en Go es una secuencia inmutable de bytes, que no necesariamente tiene que representar caracteres.

Un literal de string se define entre comillas dobles:

const name = "Jane"

Los strings se pueden concatenar con el operador +:

"Jane" + " " + "Austen"
// => "Jane Austen"

Algunos caracteres especiales hay que escaparlos con una barra invertida delante, como \t para un tabulador y \n para un salto de 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 para strings, 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"

Instrucciones

Cerca hay una tienda de electrodomésticos llamada «Tech Palace». El dueño de la tienda instaló hace poco una pantalla grande 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 está formada por 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.

1. Crea el mensaje de bienvenida

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 un string.

WelcomeMessage("Judy")
// => Welcome to the Tech Palace, JUDY

2. Agrega un borde decorativo

Para los clientes leales que compran mucho en la tienda, el dueño quiere que la pantalla de bienvenida sea más vistosa agregando una línea de estrellas antes y después del mensaje de bienvenida. Todavía no están seguros de cuántas estrellas debería haber en las líneas, así que quieren que eso sea configurable.

Escribe una función AddBorder que acepta un mensaje de bienvenida (un string) y el número de estrellas por línea (tipo int) como argumentos. Debe devolver un string que consta de 3 líneas: una línea con el número de estrellas deseado, luego el mensaje de bienvenida tal como se pasó, y luego otra línea de estrellas.

AddBorder("Welcome!", 10)

Debería devolver lo siguiente:

**********
Welcome!
**********

3. Limpia los mensajes de marketing antiguos

Antes de instalar esta nueva pantalla, la tienda tenía una pantalla similar que solo podía mostrar líneas estáticas no configurables. Al dueño le gustaría reutilizar algunos de los antiguos mensajes de marketing en la nueva pantalla. Sin embargo, los datos ya incluyen un borde de estrellas y algunos espacios en blanco desafortunados. Tu tarea es limpiar los mensajes para que se puedan reutilizar.

Implementa una función CleanUpMessage que acepta el mensaje de marketing antiguo como un string. La función debe primero eliminar todas las estrellas del texto y después eliminar los espacios en blanco al principio y al final del texto restante. Luego, la función debe devolver el mensaje ya limpio.

message := `
**************************
*    BUY NOW, SAVE 10%   *
**************************
`

CleanUpMessage(message)
// => BUY NOW, SAVE 10%
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Go Exercism

¿Todo listo para empezar ¡Te damos la bienvenida a Tech Palace!?

Regístrate en Exercism para aprender y dominar Go con 34 conceptos165 ejercicios y mentoría humana real, todo gratis.