题目
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"; // 推断为 String3. 最佳实践
- 优先使用
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?)