Sobes.tech
Junior

Qual é o sistema de tipagem na linguagem Dart?

sobes.tech IA

Resposta da IA

O sistema de tipagem em Dart é forte, estático e permite a determinação dinâmica do tipo.

Conceitos principais:

  • Tipagem estática: Os tipos de variáveis são verificados durante a compilação. Isto ajuda a detectar erros antes de executar a aplicação.
    // Exemplo de tipagem estática
    int idade = 30;
    // idade = "trinta"; // Erro de compilação
    
  • Inferência de tipos: O compilador pode determinar automaticamente o tipo de uma variável com base no valor atribuído.
    // Exemplo de inferência de tipos
    var nome = "Alice"; // O compilador inferirá que é String
    
  • Tipo dinâmico (dynamic): Permite que uma variável armazene valores de qualquer tipo. A verificação de tipos ocorre em tempo de execução. Deve-se minimizar o uso de dynamic.
    // Exemplo de tipo dinâmico
    dynamic valor = 10;
    valor = "olá";
    
  • Segurança Null (Null Safety): Introduzida para prevenir erros relacionados com valores nulos. Variáveis por padrão não podem ser null, a menos que sejam explicitamente marcadas como anuláveis (?).
    // Exemplo de null safety
    String naoNulo = "não nulo";
    // naoNulo = null; // Erro de compilação
    
    String? nulo = null; // Permitido ser null
    
  • Segurança Null em modo estrito: Garante que operações com tipos não anuláveis não causarão exceções NullPointerException, a menos que a nulidade tenha sido explicitamente permitida.

O sistema de tipagem em Dart fornece um equilíbrio entre a segurança de linguagens estaticamente tipadas e a flexibilidade de linguagens dinamicamente tipadas.