Zustandsvariablen
Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 26 von 53.
Eine Variable, die innerhalb des Vertrags, aber außerhalb jeder Funktion deklariert wird, ist eine Zustandsvariable. Die Funktionen in diesem Vertrag teilen sie. Eine lokale Variable, die innerhalb einer Funktion deklariert wird, gehört zu diesem Aufruf. Auf einer bereitgestellten Blockchain können erfolgreiche Zustandsänderungen zwischen Transaktionen bestehen bleiben.
Deklariere dies auf Vertragsebene:
uint256 count;Verwende sie innerhalb der bereitgestellten main-Funktion:
count = 6;
console.log(count);count wird auf Vertragsebene deklariert, und main weist ihm einen Wert zu. Dieser Übungs-Runner beginnt für jeden Test mit einem frischen, auf null gesetzten Speicher. Erwarte daher nicht, dass ein Test den nächsten fortsetzt. Initialisiere den Zustand in diesem Abschnitt durch Zuweisungen innerhalb von main statt durch Initialisierer in Deklarationen oder Konstruktoren.
Eine Zustandsvariable wird auf Vertragsebene außerhalb von Funktionskörpern deklariert.
Aufgabe
EinfachDeklariere eine Zustandsvariable visits. Setze sie in main auf den übergebenen Wert start, rufe den internen Helfer addVisit auf, der visits um eins erhöht, und gib anschließend visits aus.
Die Tests übergeben Argumente an main in dieser Reihenfolge: uint256 start. Jeder Test beginnt mit einem frischen Vertragszustand.
Verwende console.log für die angeforderte Ausgabe. Gib nur die angeforderten Werte aus, einen pro Zeile, ohne zusätzliche Bezeichnungen, sofern die Aufgabe diese nicht vorgibt.
Probier es selbst
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 start) external {
// Schreibe deine Lösung hier.
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
2Variablen und Datentypen
Vorzeichenlose GanzzahlenEingaben und AusgabenVorzeichenbehaftete GanzzahlenBoolesche WerteStrings im SpeicherProfilkarte5Funktionen
FunktionsparameterRückgabewerteReine FunktionenHilfsaufrufeWiederverwendbare Berechnungen6Vertragszustand
ZustandsvariablenZustand lesen und schreibenÖffentliche Zustands-GetterKonstantenGemeinsamer ZählerÜbe selbstständig: Solidity-Playground