block-quote On this pagechevron-down
copy Copy chevron-down
Developers chevron-right 🖥️ Para Desenvolvedoreschevron-right 📑 Smart Contract Ink! 4.xchevron-right 🪄 Fundamentos🔭 Lendo Valores do Armazenamento
Ler do armazenamento é onde a diversão começa!
Como você pode ver no modelo de contrato, todas as funções do seu contrato fazem parte do módulo do contrato.
Copy impl MyContract {
// Public and Private functions can go here
} Em Rust, você pode criar quantas implementações quiser. Como escolha de estilo, recomendamos separar as definições de implementação para suas funções privadas e públicas:
Copy impl MyContract {
/// Public function
#[ ink ( message )]
pub fn my_public_function ( & self ) {
/* --snip-- */
}
/// Private function
fn my_private_function ( & self ) {
/* --snip-- */
}
/* --snip-- */
} Você também pode escolher dividir as coisas da maneira mais clara para o seu projeto.
Observe que todas as funções públicas devem usar o atributo #[ink(message)].
Nós já mostramos como inicializar um valor de armazenamento no capítulo Armazenando Valoresarrow-up-right . Obter o valor é tão simples quanto isso:
Em Rust, se a última expressão em uma função não tiver um ponto-e-vírgula, ela será o valor de retorno.