Menu
Coddy logo textTech

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.

challenge icon

Desafio

Fácil

Declare 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.
    }
}
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Solidity