Olá, Nataly, como vai?
No Dart, é possível declarar variáveis tanto de forma explícita, indicando o tipo (como String, int, double), quanto de forma implícita, utilizando var
. A diferença é que, com var
, o Dart infere automaticamente o tipo com base no valor atribuído. Por exemplo:
var nome = "Nataly"; // O compilador entende que é uma String
String nome = "Nataly"; // Tipo explicitamente declarado
As duas formas são corretas, mas quando usamos var
, o tipo ainda é definido e não pode ser alterado depois. Ou seja, se você escrever var nome = "Nataly";
, não conseguirá atribuir um número a essa variável depois, pois o Dart é, sim, uma linguagem fortemente tipada.
Já o uso de String?
indica que a variável pode receber um valor nulo (null
). Esse comportamento faz parte do sistema de null safety
do Dart. Por exemplo:
String? nome; // Pode ser nulo
nome = null; // Permitido
Enquanto isso, uma variável String nome;
sem o ponto de interrogação não pode receber null
.
Espero ter ajudado.
Siga firme nos seus estudos e conte com o fórum sempre que precisar.
Abraços :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado