Strukturen
Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 43 von 53.
Eine struct fasst verwandte Felder unter einem benutzerdefinierten Typnamen zusammen. Jedes Feld hat einen Typ und einen Namen, und Felder können unterschiedliche Typen haben. Deklariere den Typ auf Vertragsebene, erstelle einen Wert und greife dann mit einem Punkt auf seine Felder zu.
Deklariere dies auf Vertragsebene:
struct Parcel { uint256 weight; bool ready; }Verwende es innerhalb der bereitgestellten main-Funktion:
Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);Der Typ Parcel verfügt über die Felder weight und ready. Der Positionskonstruktor weist die Werte in der Reihenfolge ihrer Deklaration zu. Dieses Element befindet sich während des aktuellen Aufrufs im Speicher; allein durch die Deklaration eines Struct-Typs werden keine gespeicherten Datensätze erstellt.
Verwende einen Punkt gefolgt vom Feldnamen, um ein Struct-Feld zu lesen oder zu ändern.
Aufgabe
EinfachDeklariere eine Struct namens Badge mit uint256 level und bool active, in dieser Reihenfolge. Erstelle aus den bereitgestellten Eingaben eine Badge im Speicher und gib beide Felder aus.
Die Tests übergeben Argumente an main in dieser Reihenfolge: uint256 level, bool active. Jeder Test beginnt mit einem neuen Contract-Zustand.
Verwende console.log für die angeforderte Ausgabe. Gib nur die angeforderten Werte aus, jeweils 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 level, bool active) external view {
// 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 BerechnungenÜbe selbstständig: Solidity-Playground