Retorno de Valores
Parte da seção Fundamentos do Journey de Solidity da Coddy. Lição 22 de 53.
Uma função pode calcular um resultado sem imprimi-lo. Declare o tipo do resultado com returns e, em seguida, use return dentro do corpo. O chamador pode armazenar o valor retornado e usá-lo em uma expressão maior. Retornar e imprimir são ações separadas.
Defina este auxiliar dentro do contrato:
function doubled(uint256 n) internal pure returns (uint256) {
return n * 2;
}Use-o dentro da função main fornecida:
uint256 value = doubled(9);
console.log(value + 1);O auxiliar retorna dezoito. O chamador adiciona um e imprime dezenove. Uma instrução de retorno encerra a chamada de função atual, portanto, instruções comuns após um retorno incondicional não podem contribuir para essa chamada.
Um valor retornado pode ser armazenado ou usado pelo chamador sem ser impresso pelo auxiliar.
Desafio
FácilEscreva um auxiliar pure interno chamado square que retorne n vezes n. Em main, armazene square(side) em uma variável e imprima-o.
Os testes passam argumentos para main nesta ordem: uint256 side. Cada teste começa com o estado do contrato renovado.
Use console.log para a saída solicitada. Imprima apenas os valores solicitados, um por linha, sem rótulos extras, a menos que a tarefa os especifique.
Experimente você mesmo
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 side) external view {
// Escreva sua solução aqui.
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
2Variáveis e Tipos
Inteiros sem sinalEntradas e saídasInteiros com sinalValores booleanosStrings na memóriaCartão de perfil5Funções
Parâmetros de FunçãoRetorno de ValoresFunções PurasChamadas AuxiliaresCálculos ReutilizáveisPratique por conta própria: Playground de Solidity