Na aula 3 e no vídeo 4, o professor diz que a função não retorna nada e ele implementa um :void, mas retornar o que? a função não retorna um float? um valor após o deposito?
Na aula 3 e no vídeo 4, o professor diz que a função não retorna nada e ele implementa um :void, mas retornar o que? a função não retorna um float? um valor após o deposito?
Olá Rodrigo,
Olha se essa explicação te ajuda: https://cursos.alura.com.br/forum/topico-void-98251
O void
é apenas para indicar qual é o tipo de retorno da função, que nesse caso indica que a função não retorna nada, é feito alguns testes e uma operação de soma mas nenhum valor é retornado.
// Indicamos aqui que a função retorna um valor do tipo int
function soma($a, $b): int {
// Utilizamos o return para retornar o valor da soma
return $a + $b;
}
// Indicamos aqui que a função não retorna nada
function soma($a, $b): void {
// Aqui apenas colocamos o valor da soma em uma variável, não retornamos nada
$soma = $a + $b;
}
Olá Rodrigo, tudo bem? É como o professor falou, essa função não retorna nada, não retorna nenhum valor de nenhum tipo. E segundo a própria documentação do PHP "um tipo de retorno nulo foi introduzido. As funções declaradas com void como seu tipo de retorno devem omitir completamente sua declaração de retorno ou usar uma declaração de retorno vazia. NULL não é um valor de retorno válido para uma função nula.
Espero ter ajudado!
Fala, Rodrigo! Beleza?
A chamada de uma função passa a ter o valor do retorno da função quando é executada. Ex.:
function soma (float $a, float $b): float
{
return $a + $b;
}
$variavel = soma(2, 2);
Nesse caso, $variavel
recebe o valor do retorno da função soma
.
Em alguns casos, nós não precisamos de um retorno. A função simplesmente executa o que tem que executar e nós não precisamos utilizar nenhum valor, como é o caso:
function exibeMensagem(string $mensagem): void
{
echo $mensagem . PHP_EOL;
}
Neste caso, não há retorno. Não precisamos pegar nenhum valor desta função. Void, neste caso, significa exatamente isso: Ausência de retorno.
Espero que tenha ficado um pouco mais claro.