Mobile App Development · Dart/Flutter

15 · Desafio SizeOF

Dart não tem um operador sizeof como C/C++, mas explorar tipos primitivos, seus limites e seu custo estimado em memória ajuda a entender por que escolher o tipo certo importa.

1Objetivo da aula

Praticar tipos primitivos em Dart (int, double, bool, String) e discutir o conceito de tamanho e representação em memória. Como o Dart não expõe um operador sizeof nativo, a ideia é trabalhar com estimativas didáticas de custo em bytes por tipo, e não com medições reais de baixo nível.

2O que vamos aprender

runtimeType

Propriedade que retorna o tipo real de um objeto em tempo de execução — útil para inspecionar variáveis dinamicamente.

int / double / bool

Tipos primitivos com custo de armazenamento diferente. Não existe sizeof em Dart: os valores usados aqui são estimativas didáticas comuns (8 bytes para int/double, 1 byte para bool).

const

Valor constante em tempo de compilação. Ideal para representar custos fixos conhecidos, como as estimativas de bytes por tipo.

'${expr}'

Interpolação de expressões dentro de String, usada para montar o relatório de tipo e valor no console.

3Exemplo comentado

void main() {
  int inteiro = 42;
  double decimal = 3.14;
  bool ativo = true;
  String texto = 'Dart';

  print('inteiro: $inteiro | tipo: ${inteiro.runtimeType}');
  print('decimal: $decimal | tipo: ${decimal.runtimeType}');
  print('ativo: $ativo | tipo: ${ativo.runtimeType}');
  print('texto: $texto | tipo: ${texto.runtimeType}');
}

4Saída esperada

inteiro: 42 | tipo: int
decimal: 3.14 | tipo: double
ativo: true | tipo: bool
texto: Dart | tipo: String

5Do conteúdo para a prática

6Prática sugerida