Trilhas
/
Go
Go
/
Exercícios
/
Bem-vindo ao Tech Palace!
Bem-vindo ao Tech Palace!

Bem-vindo ao Tech Palace!

Exercício de aprendizagem

Introdução

Uma string em Go é uma sequência imutável de bytes, que não precisa necessariamente representar caracteres.

Um literal de string é definido entre aspas duplas:

const name = "Jane"

Strings podem ser concatenadas com o operador +:

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

Alguns caracteres especiais precisam ser escapados com uma barra invertida no início, como \t para uma tabulação e \n para uma nova linha em strings.

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

O pacote strings contém muitas funções úteis para trabalhar com strings. Para mais informações sobre funções de string, confira a documentação do pacote strings. Aqui estão alguns exemplos:

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"

Instruções

Tem uma loja de eletrodomésticos chamada "Tech Palace" aqui perto. O dono da loja instalou recentemente um grande painel para usar em mensagens de marketing e para mostrar uma saudação especial quando os clientes passam seus cartões de fidelidade na entrada. O painel é formado por muitas luzinhas de LED e consegue mostrar várias linhas de texto.

O dono da loja precisa da sua ajuda com o código usado para gerar o texto do novo painel.

1. Crie a mensagem de boas-vindas

Para a maioria dos clientes que passam seus cartões de fidelidade, o dono da loja quer ver "Welcome to the Tech Palace," seguido do nome do cliente em letras maiúsculas no painel.

Implemente a função WelcomeMessage, que recebe o nome do cliente como um argumento do tipo string e retorna a mensagem desejada como uma string.

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

2. Adicione uma borda decorativa

Para os clientes fiéis que compram muito na loja, o dono quer deixar o painel de boas-vindas mais bonito, adicionando uma linha de estrelas antes e depois da mensagem de boas-vindas. Ele ainda não tem certeza de quantas estrelas devem haver nas linhas, então quer que isso seja configurável.

Escreva uma função AddBorder que recebe uma mensagem de boas-vindas (uma string) e o número de estrelas por linha (do tipo int) como argumentos. Ela deve retornar uma string formada por 3 linhas: uma linha com o número de estrelas desejado, depois a mensagem de boas-vindas exatamente como foi passada e, por fim, outra linha de estrelas.

AddBorder("Welcome!", 10)

Deve retornar o seguinte:

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

3. Limpe as mensagens de marketing antigas

Antes de instalar esse novo painel, a loja tinha um painel parecido que só conseguia mostrar linhas estáticas e não configuráveis. O dono gostaria de reaproveitar algumas das mensagens de marketing antigas no novo painel. Porém, os dados já incluem uma borda de estrelas e alguns espaços em branco indesejados. Sua tarefa é limpar as mensagens para que elas possam ser reaproveitadas.

Implemente uma função CleanUpMessage que recebe a mensagem de marketing antiga como uma string. A função deve primeiro remover todas as estrelas do texto e depois remover os espaços em branco no início e no fim do texto restante. Em seguida, a função deve retornar a mensagem limpa.

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

CleanUpMessage(message)
// => BUY NOW, SAVE 10%
Editar via GitHub O link abre em uma nova janela ou aba
Go Exercism

Tudo pronto para começar Bem-vindo ao Tech Palace!?

Crie sua conta no Exercism para aprender e dominar Go com 34 conceitos165 exercícios e mentoria humana de verdade, tudo de graça.