Projetar Transformações Matemáticas Flexíveis

GolangBeginner
Pratique Agora

Introdução

Neste desafio, você terá a tarefa de criar funções de transformação matemática flexíveis utilizando os recursos de funções anônimas do Go. As transformações de dados são fundamentais na computação científica para analisar e processar conjuntos de dados numéricos. O objetivo deste desafio é testar sua habilidade em implementar uma função transformNumbers capaz de aplicar diferentes tipos de operações matemáticas a uma fatia (slice) de números inteiros.

Este é um Desafio (Challenge), que difere de um Laboratório Guiado (Guided Lab) pois você deve tentar concluir a tarefa de forma independente, em vez de seguir passos instrucionais. Desafios geralmente possuem um nível de dificuldade maior. Se encontrar dificuldades, você pode debater com o Labby ou consultar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 86%. Ele recebeu uma taxa de avaliação positiva de 100% dos alunos.

Projetar Transformações Matemáticas Flexíveis

Na computação científica, as transformações de dados são cruciais para a análise e o processamento de conjuntos de dados numéricos. Este desafio testará sua capacidade de criar funções de transformação matemática flexíveis usando as capacidades de funções anônimas do Go.

Tarefas

  • Implementar a função transformNumbers que recebe um slice de inteiros e uma função anônima como parâmetros.
  • A função deve aplicar a transformação a cada número no slice de entrada.
  • Retornar um novo slice contendo os números transformados.
  • Criar pelo menos duas transformações diferentes na função main para demonstrar a flexibilidade da implementação.

Requisitos

  • Utilize o arquivo math_transform.go fornecido no diretório ~/project.
  • Implemente a função transformNumbers usando uma função anônima como callback.
  • A função de transformação deve ser compatível com diferentes tipos de operações matemáticas.
  • Certifique-se de que o slice original não seja modificado.
  • Imprima o slice transformado na função main.

Exemplos

Execute a função main para testar diferentes transformações no slice de entrada.

go run math_transform.go

Exemplo de entrada e saída:

Input slice: [1, 2, 3, 4, 5]
Squared numbers: [1 4 9 16 25]
Doubled numbers: [2 4 6 8 10]

Dicas

  • Use range para iterar pelo slice de entrada.
  • Crie funções anônimas com diferentes lógicas de transformação.
  • Lembre-se de retornar um novo slice em vez de modificar o original.
✨ Verificar Solução e Praticar

Resumo

Em resumo, este desafio exigiu a implementação de uma função transformNumbers em Go capaz de aplicar diferentes transformações matemáticas a um slice de inteiros. A função deve aceitar uma função anônima como parâmetro, permitindo transformações flexíveis e personalizáveis. Você demonstrou essa flexibilidade criando pelo menos duas transformações distintas na função main. O objetivo foi destacar sua habilidade em trabalhar com funções anônimas e criar lógicas de transformação reutilizáveis.