侧边栏壁纸
博主头像
colo

欲买桂花同载酒

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

Dart 中有哪些基本数据类型?请举例说明如何声明和使用

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

题目

Dart 中有哪些基本数据类型?请举例说明如何声明和使用

信息

  • 类型:问答
  • 难度:⭐

考点

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

快速回答

Dart 的基本数据类型主要包括:

  • 数值类型:int(整数)、double(浮点数)
  • 布尔类型:bool(true/false)
  • 字符串类型:String(文本)
  • 集合类型:List(有序集合)、Set(无序唯一集合)、Map(键值对)

声明示例:

int age = 30;
double price = 9.99;
bool isLogged = true;
String name = 'Alice';
List<String> fruits = ['Apple', 'Banana'];
## 解析

1. 核心数据类型说明

Dart 是强类型语言,主要基础数据类型包括:

  • int:整数值(如:-10, 0, 42)
  • double:64位浮点数(如:3.14, -0.001)
  • bool:布尔值 true/false
  • String:UTF-16编码的字符串(单/双引号皆可)
  • List:有序集合(类似数组)
  • Set:无序唯一元素集合
  • Map:键值对集合(类似字典)

2. 代码示例

// 基本类型声明
int quantity = 5;
double temperature = 23.5;
bool isActive = false;
String message = "Hello Dart";

// 集合类型
List<int> scores = [90, 85, 100];
Set<String> tags = {"dart", "flutter", "mobile"};
Map<String, dynamic> user = {
  "name": "Bob",
  "age": 25,
  "isSubscribed": true
};

// 类型推断(var 关键字)
var count = 10;      // 推断为 int
var average = 87.5;  // 推断为 double
var greeting = "Hi"; // 推断为 String

3. 最佳实践

  • 优先使用 var 进行类型推断,提高代码简洁性
  • 集合类型声明时指定泛型(如 List<String>)增强类型安全
  • 常量声明使用 final(运行时常量)或 const(编译时常量)

4. 常见错误

  • 类型不匹配int x = 3.14;(double 不能赋给 int)
  • 未初始化访问String s; print(s.length);(空指针错误)
  • 动态类型滥用:过度使用 dynamic 会失去类型安全检查

5. 扩展知识

  • num 类型:int 和 double 的父类,可接收两种数值
  • 类型检查:使用 is 关键字(如 if (value is int)
  • 空安全:Dart 2.12+ 默认启用,变量需声明是否可空(如 int?