Solidez - Funções de Visualização
As funções de visualização garantem que não modificarão o estado. Uma função pode ser declarada comoview. As instruções a seguir, se presentes na função, são consideradas modificando o estado e o compilador emitirá um aviso nesses casos.
Modificando variáveis de estado.
Emitindo eventos.
Criação de outros contratos.
Usando a autodestruição.
Enviando Ether via chamadas.
Chamar qualquer função que não esteja marcada como view ou pure.
Usando chamadas de baixo nível.
Usando assembly embutido contendo certos opcodes.
O método Getter são funções de visualização padrão.
Veja o exemplo abaixo usando uma função de visualização.
Exemplo
pragma solidity ^0.5.0;
contract Test {
function getResult() public view returns(uint product, uint sum){
uint a = 1; // local variable
uint b = 2;
product = a * b;
sum = a + b;
}
}
Execute o programa acima usando as etapas fornecidas no capítulo Aplicativo Solidity First .
Resultado
0: uint256: product 2
1: uint256: sum 3