Struct

Solidity

Definition

Type personnalisé regroupant plusieurs variables sous un même nom. Similaire aux objets/classes mais sans méthodes. Utilisé pour organiser des données complexes. Peut être stocké en storage, memory ou calldata. Supporte le packing en storage pour optimiser le gas.

English version

Custom type grouping multiple variables under one name. Similar to objects/classes but without methods. Used to organize complex data. Can be stored in storage, memory or calldata.

Exemple de Code

struct User {
    string name;
    uint256 balance;
    bool isActive;
    uint128 lastLogin;  // Packing possible
    uint128 joinDate;   // Packés ensemble dans le même slot
}

mapping(address => User) public users;

function createUser(string memory name) public {
    users[msg.sender] = User({
        name: name,
        balance: 0,
        isActive: true,
        lastLogin: uint128(block.timestamp),
        joinDate: uint128(block.timestamp)
    });
}

Pratique ce concept sur Solingo

Maîtrise Struct avec des exercices interactifs et un IDE intégré.

Commencer gratuitement