Struct

Solidity

Définition

Type personnalisé regroupant plusieurs variables sous un même nom. Similaire aux objets/structs dans d'autres langages. Peut contenir n'importe quel type (uint, address, mapping, array, autres structs). Stocké dans storage, memory ou calldata selon le contexte. Utilisé pour organiser des données complexes.

Version anglaise

Custom type grouping multiple variables under one name. Similar to objects/structs in other languages. Can contain any type (uint, address, mapping, array, other structs). Stored in storage, memory or calldata depending on context. Used to organize complex data.

Exemple de Code

contract StructExample {
  struct User {
    string name;
    uint256 age;
    address wallet;
    bool active;
  }

  mapping(address => User) public users;

  function addUser(string memory _name, uint256 _age) public {
    // Création en memory puis stockage
    User memory newUser = User({
      name: _name,
      age: _age,
      wallet: msg.sender,
      active: true
    });
    users[msg.sender] = newUser;
  }

  function getUser(address addr) public view returns (User memory) {
    return users[addr];
  }
}

Pratique ce concept sur Solingo

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

Commencer gratuitement