Como funcionam funções anônimas?

Funções anônimas, também conhecidas como funções lambda, são funções que não possuem um nome definido. Elas são criadas e utilizadas no momento necessário, sem a necessidade de declaração convencional.

Em linguagens de programação que suportam funções anônimas, como Python, JavaScript e Java 8 em diante, é possível declarar funções diretamente como expressões em linha. Essas funções podem ser atribuídas a variáveis, passadas como argumentos para outras funções ou até mesmo retornadas como resultados de outras funções.

Um exemplo em Python:

dobro = lambda x: x * 2
print(dobro(5))  # output: 10

Neste exemplo, a função anônima lambda x: x * 2 recebe um parâmetro x e retorna o seu dobro. Atribuímos essa função à variável dobro e, em seguida, a chamamos com o valor 5, obtendo o resultado 10.

As funções anônimas podem ser úteis em situações em que é necessário passar uma pequena função como argumento para outra função. Por exemplo, a função map em Python pode ser usada com uma função anônima para aplicar uma transformação em cada elemento de uma lista:

numeros = [1, 2, 3, 4, 5]
dobro = map(lambda x: x * 2, numeros)
print(list(dobro))  # output: [2, 4, 6, 8, 10]

Neste caso, a função map recebe uma função anônima lambda x: x * 2 e uma lista numeros. A função map aplica a função anônima a cada elemento da lista, retornando um objeto iterável que podemos converter em uma lista utilizando a função list.

Em resumo, as funções anônimas proporcionam uma forma concisa e conveniente de criar pequenas funções em linha, tornando o código mais legível e evitando a necessidade de criar funções nomeadas separadas para tarefas simples.