-
Notifications
You must be signed in to change notification settings - Fork 0
/
3-variaveis-opcionais-nullable.dart
47 lines (36 loc) · 1.51 KB
/
3-variaveis-opcionais-nullable.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
void main () {
// variaveis nullable = variaveis opcionais
// somente String/bool/int/double podem ser nullable
String? textoNullable = null;
int? intNullable = null;
double? doubleNullable = null;
bool? boolNullable = null;
//outra forma de declarar variavel null é só colocar ? sem null:
String? textoNullable2;
int? intNullable2;
double? doubleNullable2;
bool? boolNullable2;
/* essas variaveis nao podem ser nullable:
var? varNullable = null;
dynamic? dynamicNullable = null;
final? finalNullable = null;
const? constNullable = null; */
// vamos brincar com variavel que o sistema nao saberá dizer se
// está null ou não antes de compilar/executar:
String? textoNullable3 = 'Olá mundo!';
print (textoNullable3.length);
textoNullable3 = null;
// Isso gera erro: print (textoNullable3.lenght);
// faltou um ? antes do .
print(textoNullable3?.length);
//precisa ter um ? para o
//compilador dizer que eh null
// aqui abaixo textoNullable3 = null
print(textoNullable3?.length??'não quero que o usuário leia null, mas, sim, que ele leia essa frase');
print(textoNullable3?.length??0);
textoNullable3 = 'Tem texto agora';
print (textoNullable3?.length??'Não tem texto agora');
// print (textoNullable!.length??'Aqui deve dar erro'); -> gera erro mesmo
textoNullable3 = 'null';
print (textoNullable3!.length??'Vamos ver no que dá essa loucura do ! em variável com null');
}