Variáveis de Estado
Parte da seção Fundamentos do Journey de Solidity da Coddy. Lição 26 de 53.
Uma variável declarada dentro do contrato, mas fora de todas as funções, é uma variável de estado. As funções desse contrato compartilham essa variável. Uma variável local declarada dentro de uma função pertence àquela chamada. Em uma blockchain implantada, alterações de estado bem-sucedidas podem persistir entre as transações.
Declare isto no escopo do contrato:
uint256 count;Use-a dentro da função main fornecida:
count = 6;
console.log(count);count é declarado no escopo do contrato, e main atribui um valor a ele. Este executor de testes começa com um armazenamento zerado e novo para cada teste, portanto não espere que um teste dê continuidade a outro. Nesta seção, inicialize o estado por meio de atribuições dentro de main, em vez de inicializadores de declaração ou construtores.
Uma variável de estado é declarada no escopo do contrato, fora dos corpos das funções.
Desafio
FácilDeclare uma variável de estado visits. Em main, defina-a como o valor fornecido de start, chame um auxiliar interno addVisit que aumenta visits em um, e então imprima visits.
Os testes passam argumentos para main nesta ordem: uint256 start. Cada teste começa com um estado de contrato novo.
Use console.log para a saída solicitada. Imprima somente 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 start) external {
// 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áveis6Estado do Contrato
Variáveis de EstadoLeitura e Escrita do EstadoGetters Públicos de EstadoConstantesContador CompartilhadoPratique por conta própria: Playground de Solidity