侧边栏壁纸
博主头像
colo

欲买桂花同载酒

  • 累计撰写 1823 篇文章
  • 累计收到 0 条评论

Dart 中有哪些基本数据类型?请列举并简要说明

2025-12-12 / 0 评论 / 4 阅读

题目

Dart 中有哪些基本数据类型?请列举并简要说明

信息

  • 类型:问答
  • 难度:⭐

考点

基础数据类型,变量声明,类型推断

快速回答

Dart 的基本数据类型包括:

  • int:整数值(如 1, -5)
  • double:浮点数值(如 3.14, -0.001)
  • num:int 和 double 的父类型
  • String:文本(如 'Hello')
  • bool:布尔值(true/false)

使用 var 声明变量时,Dart 会自动推断类型。

解析

原理说明

Dart 是强类型语言,所有值都是对象(无原始类型)。基本数据类型通过类实现,支持面向对象操作。类型系统包含静态检查和运行时检查。

代码示例

// 显式类型声明
int age = 30;
double price = 9.99;
String name = 'Alice';
bool isActive = true;

// 类型推断(推荐)
var count = 42;      // 推断为 int
var rating = 4.5;    // 推断为 double
var message = 'Hi';  // 推断为 String
var isReady = false; // 推断为 bool

// num 类型示例
num flexibleNumber = 10;    // 可赋值为整数
flexibleNumber = 10.5;      // 也可赋值为浮点数

最佳实践

  • 优先使用 var 声明局部变量,依赖类型推断
  • 在公开 API(如函数参数/返回值)中显式声明类型
  • 使用 finalconst 声明不可变变量

常见错误

  • 混淆 intdouble
    var x = 1; // int 类型
    x = 1.5; // 编译错误!
  • 未初始化变量:
    String title; // 默认值为 null
    print(title.length); // 运行时错误
  • 误用 dynamic:过度使用会失去类型安全

扩展知识

  • 类型检查:用 is 运算符检查类型
    if (flexibleNumber is double) { ... }
  • 类型转换:用 as 安全转换
    var y = flexibleNumber as double;
  • 空安全:Dart 2.12+ 默认禁止未初始化变量
    int score; // 错误:非空变量必须初始化
  • 常量优化const 变量在编译时计算
    const pi = 3.14159; // 比 final 更高效