Processar Strings de Registro de Usuário

GolangBeginner
Pratique Agora

Introdução

Neste desafio, os participantes têm a tarefa de implementar uma função para formatar nomes de usuários em um sistema de registro de uma plataforma de rede social. O objetivo é garantir que a entrada do usuário seja consistente e limpa, visando a integridade dos dados e uma melhor experiência do usuário. Especificamente, a função deve remover espaços em branco no início e no fim, colocar a primeira letra de cada segmento do nome em maiúscula e lidar com múltiplos segmentos (nome, sobrenome e nomes do meio).

Este é um Desafio (Challenge), que difere de um Laboratório Guiado (Guided Lab) pois você deve tentar completar a tarefa de forma independente, em vez de seguir passos instrucionais. Desafios costumam ser um pouco mais complexos. Se encontrar dificuldades, você pode debater com o Labby ou verificar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 94%. Ele recebeu uma taxa de avaliações positivas de 88% dos alunos.

Processar Strings de Registro de Usuário

Em um sistema de registro de usuários de redes sociais, manter as entradas dos usuários consistentes e limpas é fundamental para a integridade do banco de dados e para a interface do sistema.

Tarefas

  • Criar uma função chamada formatUserName que receba um nome completo como entrada
  • Remover espaços em branco extras no início e no final da string
  • Capitalizar a primeira letra de cada segmento do nome
  • Retornar o nome completo devidamente formatado

Requisitos

  • Desenvolva a solução no arquivo ~/project/registration.go
  • Utilize as funções de manipulação de strings do Go aprendidas anteriormente
  • A função deve ser capaz de processar nomes com múltiplos segmentos (primeiro nome, nomes do meio e sobrenomes)
  • Utilize strings.TrimSpace() para remover espaços desnecessários
  • Garanta que a função funcione corretamente com diversos formatos de entrada

Exemplos

Para testar a função, atualize a função main() com alguns casos de exemplo:

func main() {
    fmt.Println(formatUserName("  john doe  "))        // Saída: John Doe
    fmt.Println(formatUserName("  alice bob smith  ")) // Saída: Alice Bob Smith
    fmt.Println(formatUserName("JANE DOE"))            // Saída: Jane Doe
}

Execute o programa e verifique se a saída corresponde aos resultados esperados.

go run registration.go
John Doe
Alice Bob Smith
Jane Doe

Dicas

  1. strings.TrimSpace() remove os espaços em branco das extremidades do nome informado.
  2. strings.Fields() divide o nome em segmentos, lidando automaticamente com múltiplos espaços entre as palavras.
  3. strings.ToLower() garante uma capitalização consistente antes de aplicar a função Title().
  4. strings.Join() reconstrói o nome formatado inserindo um único espaço entre os segmentos.
✨ Verificar Solução e Praticar

Resumo

Em resumo, este desafio exigiu a implementação de uma função para formatar nomes de usuários em um sistema de registro. A função remove espaços em branco excedentes, capitaliza a primeira letra de cada parte do nome e gerencia corretamente nomes compostos. O objetivo final foi assegurar a padronização dos dados inseridos, melhorando a integridade das informações e a apresentação visual para o usuário.