Flutter 中的基本数据类型:num、int 和 double

在 Dart 编程语言中,数值类型的基础是 num,而 intdouble 则是 num 的子类型。在开发 Flutter 应用时,理解这三者的区别和使用场景是非常重要的。本文将详细介绍 numintdouble 的定义及其使用区别。

num

num 是 Dart 中的数值类型的基础类,可以存储整数和浮点数。任何 intdouble 类型的变量都可以赋值给 num 类型的变量。

特性
  • 可以是整数或浮点数
  • 提供一些基础的数值操作方法,例如 abs()ceil()floor()
示例
dart 复制代码
void main() {
  num a = 10;
  num b = 10.5;

  print(a); // 输出 10
  print(b); // 输出 10.5

  print(a.abs()); // 输出 10
  print(b.abs()); // 输出 10.5
}

int

intnum 的一个子类型,表示整数。它可以存储任何不带小数部分的数值。

特性
  • 只能存储整数
  • 不会有小数部分
  • 支持的操作包括基本的算术运算、位运算等
示例
dart 复制代码
void main() {
  int a = 10;
  int b = -5;

  print(a); // 输出 10
  print(b); // 输出 -5

  print(a + b); // 输出 5
  print(a.isEven); // 输出 true
  print(b.isNegative); // 输出 true
}

double

double 也是 num 的一个子类型,表示双精度浮点数。它可以存储带有小数部分的数值。

特性
  • 可以存储带小数部分的数值
  • 精度较高
  • 支持科学计数法表示
示例
dart 复制代码
void main() {
  double a = 10.5;
  double b = -3.14;

  print(a); // 输出 10.5
  print(b); // 输出 -3.14

  print(a + b); // 输出 7.36
  print(a.isFinite); // 输出 true
  print(b.isNegative); // 输出 true
}

使用区别

  1. 类型选择 :在需要存储整数时,使用 int;在需要存储浮点数时,使用 double;在需要处理整数和浮点数混合的情况下,可以使用 num
  2. 性能和内存 :在性能和内存方面,intdouble 在其各自的使用场景中是优化的。如果明确知道只需要整数或浮点数,应该优先使用 intdouble
  3. 操作和方法 :虽然 num 提供了许多基础方法,但 intdouble 各自有一些特定的方法,例如 intisEvenisOdd,以及 doubleisNaNisInfinite

总结

numintdouble 是 Dart 中的三种基本数值类型,它们各有其独特的使用场景。理解它们的区别和特点,有助于在 Flutter 开发中选择合适的数值类型,从而编写出更加高效和健壮的代码。

相关推荐
来来走走10 分钟前
Android开发(Kotlin) 协程
android·java·kotlin
河铃旅鹿1 小时前
Android开发-java版:Framgent
android·java·笔记·学习
2501_916008895 小时前
手机抓包app大全:无需root的安卓抓包软件列表
android·ios·智能手机·小程序·uni-app·iphone·webview
百锦再6 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
消失的旧时光-19436 小时前
Flutter 与 React/Vue 为什么思想一致?——声明式 UI 体系的深度对比(超清晰版)
vue.js·flutter·react.js
gcygeeker6 小时前
安卓 4.4.2 电视盒子 ADB 设置应用开机自启动
android·adb·电视盒子
小驰行动派7 小时前
安卓上的极简番茄钟 | 开源
android·开源
jzlhll1237 小时前
android抽屉DrawerLayout在2025的沉浸式兼容
android
基哥的奋斗历程7 小时前
Kotlin_Flow_完整使用指南
android·开发语言·kotlin
j***82707 小时前
【玩转全栈】----Django连接MySQL
android·mysql·django