Sobes.tech
Junior

Que operadores existem na Null-safety?

sobes.tech IA

Resposta da IA

No Null Safety no Flutter, utilizam-se os seguintes operadores relacionados com tipos nullable:

  • ? (Ponto de interrogação): Declara uma variável como nullable.

    String? cadeiaNula; // A variável pode conter String ou null
    
  • ! (Operador de exclamação / Assert de não-null): Garante ao compilador que o valor não é null neste momento. Deve ser usado com cautela, pois pode causar um erro em tempo de execução se o valor for null.

    String naoNulo = cadeiaNula!; // Garantimos que cadeiaNula não é null
    
  • ?? (Operador de coalescência nula): Fornece um valor padrão se a expressão à esquerda for null.

    String resultado = cadeiaNula ?? "Valor Padrão"; // Se cadeiaNula for null, resultado será "Valor Padrão"
    
  • ??= (Operador de atribuição de coalescência nula): Atribui um valor à variável apenas se a esquerda for null.

    String? variavel;
    variavel ??= "Valor Inicial"; // Se variavel for null, atribui-se "Valor Inicial"
    
  • ?. (Operador de acesso seguro): Permite aceder de forma segura aos membros de um objeto que pode ser null. Se o objeto for null, a expressão devolve null.

    String? cadeiaNula;
    int? comprimento = cadeiaNula?.length; // Se cadeiaNula for null, comprimento será null
    
  • ?[] (Operador de índice seguro): Permite aceder de forma segura aos elementos de uma lista ou Map que podem ser null. Se a lista ou Map for null, a expressão devolve null.

    List<int>? listaNula;
    int? primeiroElemento = listaNula?[0]; // Se listaNula for null, primeiroElemento será null