Percursos
/
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 têm necessariamente de representar carateres.

Um literal de string define-se entre aspas duplas:

const name = "Jane"

As strings podem ser concatenadas com o operador +:

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

Alguns carateres especiais precisam de ser escapados com uma barra invertida à frente, como \t para uma tabulação e \n para uma nova linha dentro de 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 as funções de string, consulta a documentação do pacote strings. Aqui ficam 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

Há uma loja de eletrodomésticos chamada "Tech Palace" aqui perto. O dono da loja instalou recentemente um ecrã grande para usar em mensagens de marketing e para mostrar uma saudação especial quando os clientes passam os cartões de fidelização à entrada. O ecrã é composto por muitas pequenas luzes LED e consegue mostrar várias linhas de texto.

O dono da loja precisa da tua ajuda com o código que gera o texto para o novo ecrã.

1. Cria a mensagem de boas-vindas

Para a maioria dos clientes que passam os cartões de fidelização, o dono da loja quer ver "Welcome to the Tech Palace," seguido do nome do cliente em maiúsculas no ecrã.

Implementa a função WelcomeMessage que aceita o nome do cliente como argumento do tipo string e devolve a mensagem pretendida como string.

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

2. Adiciona uma moldura vistosa

Para os clientes fiéis que compram muito na loja, o dono quer tornar o ecrã de boas-vindas mais vistoso, acrescentando uma linha de estrelas antes e depois da mensagem de boas-vindas. Ainda não têm a certeza de quantas estrelas devem estar nas linhas, por isso querem que isso seja configurável.

Escreve uma função AddBorder que aceita uma mensagem de boas-vindas (uma string) e o número de estrelas por linha (do tipo int) como argumentos. Deve devolver uma string composta por 3 linhas: uma linha com o número desejado de estrelas, depois a mensagem de boas-vindas tal como foi recebida e, por fim, outra linha de estrelas.

AddBorder("Welcome!", 10)

Deve devolver o seguinte:

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

3. Limpa as mensagens de marketing antigas

Antes de instalar este novo ecrã, a loja tinha um ecrã semelhante que só conseguia mostrar linhas estáticas e não configuráveis. O dono gostaria de reutilizar algumas das antigas mensagens de marketing no novo ecrã. No entanto, os dados já incluem uma moldura de estrelas e alguns espaços em branco indesejados. A tua tarefa é limpar as mensagens para que possam ser reutilizadas.

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

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

CleanUpMessage(message)
// => BUY NOW, SAVE 10%
Editar via GitHub A ligação abre numa nova janela ou separador
Go Exercism

Estás pronto para começar Bem-vindo ao Tech Palace!?

Inscreve-te no Exercism para aprenderes e dominares Go com 34 conceitos165 exercícios, e mentoria humana real, tudo grátis.