Variables

20 min Niveau 2

Solidity prend en charge trois types de variables :

  • Variables d'état (State Variables) - Variables dont les valeurs sont stockées en permanence dans une mémoire de contrat.
  • Variables locales (Local Variables) - Variables dont les valeurs sont présentes jusqu'à ce que la fonction soit exécutée.
  • Variables globales (Global Variables) - Variables spéciales existant dans l'espace de noms global utilisées pour obtenir des informations sur la blockchain.

Solidity est un langage à typage statique, ce qui signifie que le type de variable d'état ou locale doit être spécifié lors de la déclaration. Chaque variable déclarée a toujours une valeur par défaut basée sur son type. Il n'y a pas de concept de "undefined" ou "null".

Variable d'état

Variables dont les valeurs sont stockées de façon permanente dans une mémoire de contrat.

pragma solidity ^0.5.0;
contract SolidityTest {
    uint storedData;      // State variable
    constructor() public {
        storedData = 10;   // Using State variable
    }
}

Variable locale

Variable dont les valeurs ne sont disponibles qu'à l'intérieur de la fonction dans laquelle elle est définie. Les paramètres de fonction sont toujours locaux à cette fonction.

pragma solidity ^0.5.0;
contract SolidityTest {
    uint storedData; // State variable
    constructor() public {
        storedData = 10;   
    }
    function getResult() public view returns(uint){
        uint a = 1; // local variable
        uint b = 2;
        uint result = a + b;
        return result; //access the local variable
    }
}

Exemple :

pragma solidity ^0.5.0;
contract SolidityTest {
    uint storedData; // State variable
    constructor() public {
        storedData = 10;   
    }
    function getResult() public view returns(uint){
        uint a = 1; // local variable
        uint b = 2;
        uint result = a + b;
        return storedData; //access the state variable
    }
}

Exécutez le programme ci-dessus en suivant les étapes fournies dans le chapitre “Créer une application”.

Sortie :

0: uint256: 10

Variables globales

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus