Programação Dart - Variáveis
Uma variável é “um espaço nomeado na memória” que armazena valores. Em outras palavras, ele atua como um contêiner para valores em um programa. Os nomes das variáveis são chamados de identificadores. A seguir estão as regras de nomenclatura para um identificador -
Os identificadores não podem ser palavras-chave.
Os identificadores podem conter letras e números.
Os identificadores não podem conter espaços e caracteres especiais, exceto o sublinhado (_) e o cifrão ($).
Os nomes das variáveis não podem começar com um número.
Sintaxe de tipo
Uma variável deve ser declarada antes de ser usada. O Dart usa a palavra-chave var para fazer o mesmo. A sintaxe para declarar uma variável é a seguinte -
var name = 'Smith';
Todas as variáveis no dart armazenam uma referência ao valor em vez de conter o valor. A variável chamada nome contém uma referência a um objeto String com um valor de “Smith”.
Suportes de dardo type-checkingprefixando o nome da variável com o tipo de dados. A verificação de tipo garante que uma variável contenha apenas dados específicos para um tipo de dados. A sintaxe para o mesmo é fornecida abaixo -
String name = 'Smith';
int num = 10;
Considere o seguinte exemplo -
void main() {
String name = 1;
}
O snippet acima resultará em um aviso, pois o valor atribuído à variável não corresponde ao tipo de dados da variável.
Resultado
Warning: A value of type 'String' cannot be assigned to a variable of type 'int'
Todas as variáveis não inicializadas têm um valor inicial nulo. Isso ocorre porque o Dart considera todos os valores como objetos. O exemplo a seguir ilustra o mesmo -
void main() {
int num;
print(num);
}
Resultado
Null
A palavra-chave dinâmica
Variáveis declaradas sem um tipo estático são declaradas implicitamente como dinâmicas. As variáveis também podem ser declaradas usando a palavra-chave dynamic no lugar da palavra-chave var.
O exemplo a seguir ilustra o mesmo.
void main() {
dynamic x = "tom";
print(x);
}
Resultado
tom
Final e Const
o final e constpalavras-chave são usadas para declarar constantes. O Dart evita a modificação dos valores de uma variável declarada usando a palavra-chave final ou const. Essas palavras-chave podem ser usadas em conjunto com o tipo de dados da variável ou em vez dovar palavra-chave.
o constpalavra-chave é usada para representar uma constante de tempo de compilação. Variáveis declaradas usando oconst palavras-chave são implicitamente finais.
Sintaxe: palavra-chave final
final variable_name
OU
final data_type variable_name
Sintaxe: const Palavra-chave
const variable_name
OU
const data_type variable_name
Exemplo - palavra-chave final
void main() {
final val1 = 12;
print(val1);
}
Resultado
12
Exemplo - const Keyword
void main() {
const pi = 3.14;
const area = pi*12*12;
print("The output is ${area}");
}
O exemplo acima declara duas constantes, pi e area, usando o constpalavra-chave. oarea o valor da variável é uma constante de tempo de compilação.
Resultado
The output is 452.15999999999997
Note - apenas constvariáveis podem ser usadas para calcular uma constante de tempo de compilação. Constantes de tempo de compilação são constantes cujos valores serão determinados em tempo de compilação
Exemplo
O Dart lança uma exceção se for feita uma tentativa de modificar as variáveis declaradas com o finalou const. O exemplo abaixo ilustra o mesmo -
void main() {
final v1 = 12;
const v2 = 13;
v2 = 12;
}
O código fornecido acima irá gerar o seguinte erro como output -
Unhandled exception:
cannot assign to final variable 'v2='.
NoSuchMethodError: cannot assign to final variable 'v2='
#0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:178)
#1 main (file: Test.dart:5:3)
#2 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261)
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)