Track
/
Go
Go
/
Esercizi
/
Benvenuto al Tech Palace!
Benvenuto al Tech Palace!

Benvenuto al Tech Palace!

Esercizio di apprendimento

Introduzione

Una string in Go è una sequenza immutabile di byte, che non devono per forza rappresentare caratteri.

Un letterale di tipo stringa si definisce tra doppi apici:

const name = "Jane"

Le stringhe si possono concatenare con l'operatore +:

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

Alcuni caratteri speciali devono essere preceduti da una barra rovesciata, come \t per una tabulazione e \n per un a capo all'interno delle stringhe.

"How is the weather today?\nIt's sunny"  
// =>
// How is the weather today?
// It's sunny

Il pacchetto strings contiene molte funzioni utili per lavorare con le stringhe. Per saperne di più sulle funzioni per le stringhe, dai un'occhiata alla documentazione del pacchetto strings. Ecco alcuni esempi:

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"

Istruzioni

C'è un negozio di elettrodomestici chiamato «Tech Palace» qui vicino. Il proprietario del negozio ha recentemente installato un grande display da usare per messaggi pubblicitari e per mostrare un saluto speciale quando i clienti scansionano la tessera fedeltà all'ingresso. Il display è composto da tante piccole luci LED e può mostrare più righe di testo.

Il proprietario del negozio ha bisogno del tuo aiuto con il codice usato per generare il testo per il nuovo display.

1. Crea il messaggio di benvenuto

Per la maggior parte dei clienti che scansionano la tessera fedeltà, il proprietario del negozio vuole vedere "Welcome to the Tech Palace," seguito dal nome del cliente in maiuscolo sul display.

Implementa la funzione WelcomeMessage che accetta il nome del cliente come argomento string e restituisce il messaggio desiderato come string.

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

2. Aggiungi un bordo decorativo

Per i clienti fedeli che comprano molto nel negozio, il proprietario vuole che il display di benvenuto sia più decorato, aggiungendo una riga di stelle prima e dopo il messaggio di benvenuto. Non è ancora sicuro di quante stelle debbano esserci nelle righe, quindi vuole che sia configurabile.

Scrivi una funzione AddBorder che accetta un messaggio di benvenuto (una string) e il numero di stelle per riga (tipo int) come argomenti. Dovrebbe restituire una string composta da 3 righe: una riga con il numero di stelle desiderato, poi il messaggio di benvenuto così com'è stato passato, poi un'altra riga di stelle.

AddBorder("Welcome!", 10)

Dovrebbe restituire quanto segue:

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

3. Ripulisci i vecchi messaggi pubblicitari

Prima di installare questo nuovo display, il negozio aveva un display simile che poteva mostrare solo righe statiche e non configurabili. Il proprietario vorrebbe riutilizzare alcuni dei vecchi messaggi pubblicitari sul nuovo display. Tuttavia, i dati includono già un bordo di stelle e alcuni spazi bianchi indesiderati. Il tuo compito è ripulire i messaggi in modo che possano essere riutilizzati.

Implementa una funzione CleanUpMessage che accetta il vecchio messaggio pubblicitario come stringa. La funzione dovrebbe prima rimuovere tutte le stelle dal testo e poi rimuovere gli spazi bianchi iniziali e finali dal testo rimanente. La funzione dovrebbe quindi restituire il messaggio ripulito.

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

CleanUpMessage(message)
// => BUY NOW, SAVE 10%
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Go Exercism

Vuoi iniziare Benvenuto al Tech Palace!?

Iscriviti a Exercism per imparare e padroneggiare Go con 34 concetti165 esercizi e il mentoring di persone reali, tutto gratis.