Guia Abrangente para a Sintaxe do Solidity

Neste artigo, estamos examinando a sintaxe do Solidity , incluindo tipos de dados e suas funções, seja você um iniciante ou um desenvolvedor experiente procurando aprimorar suas habilidades no Solidity, continue lendo para aprender sobre os blocos de construção da sintaxe do Solidity.

Assim como qualquer linguagem de programação, o Solidity tem sua própria sintaxe e um conjunto de regras que devem ser seguidas para escrever um código correto e eficaz. Se você é novo no Solidity, aprender a sintaxe básica da linguagem é um primeiro passo essencial.



Sintaxe Solidity

Um arquivo fonte do Solidity pode conter um grande número de definições de contrato, diretivas de importação e diretivas pragma, tudo ao mesmo tempo.

Vamos começar dando uma olhada em um arquivo fonte simples do Solidity.

Um exemplo de um arquivo Solidity pode ser encontrado abaixo:

Solidity Syntax Example: 1 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
pragma solidity ^0.8.0;
contract SolidityTest {
uint mrx;
function set(uint x) public{
mrx=x;
}
function get() public view returns(uint){
return mrx;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>

Solidity Pragma

Há uma diretiva pragma que especifica que o código-fonte foi escrito para o Solidity versão 0.4.0 ou qualquer versão mais recente sem quebrar a funcionalidade até, mas excluindo, a versão 0.6.0.

As diretivas pragmáticas são sempre locais para o arquivo de origem, portanto, não serão aplicadas automaticamente ao arquivo importado.

Considerando que um arquivo que não pode ser compilado antes da versão 0.4.0 também não poderá ser compilado por um compilador a partir da versão 0.5.0, um pragma para tal arquivo será escrito da seguinte forma:

pragma solidity ^0.4.0;

Neste caso, adicionamos uma segunda condição usando o símbolo ^.


Contrato de Solidez

Os contratos Solidity contêm código (suas funções) e dados (seu estado) que residem em endereços específicos na blockchain Ethereum.

Na linha ample, uma variável uint chamada ample é declarada e seu valor pode ser modificado ou recuperado usando os métodos set e get.

Importing Files

Apesar do fato de que o exemplo acima carece de uma instrução de importação, o Solidity oferece suporte a instruções de importação que se assemelham a instruções de importação do JavaScript.

Todos os símbolos globais são importados do nome do arquivo  na instrução a seguir.

import "filename";

Aqui está um exemplo de criação de um símbolo global symbolName que contém todos os símbolos globais do nome do arquivo.

import * as symbolName from "filename";

A importação de um arquivo x do mesmo diretório do arquivo atual é feita usando import “./x” como x;. Importe “x” pois x se referirá a um arquivo específico; em vez disso, um “diretório de inclusão” global fará referência a um arquivo diferente.


Palavras-chave Reservadas de Solidez

Uma lista de palavras-chave reservadas do Solidity pode ser encontrada abaixo:

Palavras-chave Visão geral
abstrato Esta palavra-chave é usada para declarar contratos ou funções abstratas. Um contrato ou função abstrata deve ser implementado por um contrato filho ou resultará em um erro de compilação.
depois Essa palavra-chave é usada para especificar um atraso de tempo após o qual uma função ou instrução deve ser executada.
pseudônimo Esta palavra-chave é usada para criar um novo nome para um tipo de dado ou variável.
aplicar Esta palavra-chave é usada no contexto de uma carteira multiassinatura para aplicar uma transação ou mensagem a um contrato ou conta.
auto Esta palavra-chave é usada para declarar variáveis ​​locais com duração de armazenamento automática.
caso Essa palavra-chave é usada em instruções switch para especificar a ação a ser executada para um caso específico.
pegar Essa palavra-chave é usada em instruções try-catch para lidar com erros ou exceções que ocorrem durante a execução do programa.
cópia de Esta palavra-chave é usada para criar uma cópia de uma matriz ou uma variável de armazenamento.
padrão Essa palavra-chave é usada em instruções switch para especificar a ação a ser executada se nenhum outro case corresponder.
definir Esta palavra-chave é usada para criar uma macro ou um valor constante que pode ser usado em todo o programa.
final Esta palavra-chave é usada para indicar que um contrato ou função não pode ser substituído por um contrato filho.
imutável Esta palavra-chave é usada para declarar variáveis ​​que não podem ser alteradas após a inicialização.
implementos Esta palavra-chave é usada para indicar que um contrato implementa uma interface específica.
em Essa palavra-chave é usada em loops for para especificar o intervalo de valores para iterar.
em linha Esta palavra-chave é usada para indicar que uma função deve ser incorporada em tempo de compilação.
deixar Esta palavra-chave é usada para declarar variáveis ​​com escopo de bloco.
macro Esta palavra-chave é usada para definir uma macro ou um valor constante que pode ser usado em todo o programa.
corresponder Essa palavra-chave é usada em instruções switch para corresponder um valor a um caso específico.
mutável Esta palavra-chave é usada para declarar variáveis ​​que podem ser alteradas após a inicialização.
nulo Esta palavra-chave é usada para indicar a ausência de um valor.
de Essa palavra-chave é usada em loops for para especificar o tipo de elemento a ser iterado.
sobrepor Esta palavra-chave é usada para indicar que uma função se destina a substituir uma função com o mesmo nome no contrato pai.
parcial Esta palavra-chave é usada para indicar que um contrato é definido em vários arquivos.
promessa Esta palavra-chave é usada para indicar que uma função retorna uma promessa ou um valor futuro.
referência Esta palavra-chave é usada para declarar variáveis ​​de referência que se referem a outras variáveis.
relocável Esta palavra-chave é usada para indicar que um contrato ou função pode ser movido para um local diferente na memória.
selado Esta palavra-chave é usada para indicar que um contrato ou função não pode ser estendido ou substituído.
tamanho de Esta palavra-chave é usada para obter o tamanho de um tipo de dados ou uma variável em bytes.
estático Essa palavra-chave é usada para declarar variáveis ​​ou funções de classe que são compartilhadas em todas as instâncias da classe.
apoia Esta palavra-chave é usada para verificar se um contrato suporta uma interface específica.
trocar Esta palavra-chave é usada para especificar uma instrução de ramificação multidirecional.
tentar Essa palavra-chave é usada para especificar um bloco de código que pode lançar uma exceção e deve ser tratado usando catch.
typedef Esta palavra-chave é usada para definir um novo tipo de dados.
tipo de Esta palavra-chave é usada para obter o tipo de um valor em tempo de execução.
desmarcado Esta palavra-chave é usada para desabilitar verificações de alcance e outros recursos de segurança para melhorar o desempenho.

entender a sintaxe do Solidity é essencial para escrever contratos inteligentes na blockchain Ethereum.

Embora a linguagem possa ser complexa, dominar as várias palavras-chave, tipos de dados e funções pode levar à criação de contratos inteligentes poderosos e seguros .

Agora que você se familiarizou com a sintaxe do Solidity, é hora de aprender como escrever seu primeiro programa do Solidity .

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone