Structures
Fait partie de la section Fondamentaux du Journey Solidity de Coddy. Leçon 43 sur 53.
Une structure regroupe des champs associés sous un nom de type personnalisé. Chaque champ possède un type et un nom, et les champs peuvent avoir des types différents. Déclarez le type au niveau du contrat, créez une valeur, puis accédez à ses champs avec un point.
Déclarez ceci au niveau du contrat :
struct Parcel { uint256 weight; bool ready; }Utilisez-la dans la fonction main fournie :
Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);Le type Parcel possède les champs weight et ready. Le constructeur positionnel fournit les valeurs dans l’ordre de déclaration. Cet élément vit en mémoire pour l’appel en cours : déclarer un type struct seul ne crée pas d’enregistrements stockés.
Utilisez un point suivi du nom du champ pour lire ou modifier un champ de structure.
Défi
FacileDéclarez une structure nommée Badge avec uint256 level et bool active, dans cet ordre. Créez un Badge en mémoire à partir des entrées fournies et affichez les deux champs.
Les tests transmettent les arguments à main dans cet ordre : uint256 level, bool active. Chaque test commence avec un état de contrat vierge.
Utilisez console.log pour la sortie demandée. Affichez uniquement les valeurs demandées, une par ligne, sans étiquettes supplémentaires, sauf si la tâche les spécifie.
Essayez vous-même
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 level, bool active) external view {
// Écrivez votre solution ici.
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
2Variables et types
Entiers non signésEntrées et sortiesEntiers signésValeurs booléennesChaînes en mémoireCarte de profil5Fonctions
Paramètres des fonctionsValeurs de retourFonctions puresAppels de fonctions auxiliairesCalculs réutilisablesEntraînez-vous par vous-même : Playground Solidity