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 开发中选择合适的数值类型,从而编写出更加高效和健壮的代码。

相关推荐
诺诺Okami2 小时前
Android Framework-Launcher-UI和组件
android
潘潘潘3 小时前
Android线程间通信机制Handler介绍
android
潘潘潘3 小时前
Android动态链接库So的加载
android
权咚3 小时前
阿权的开发经验小集
git·ios·xcode
用户093 小时前
TipKit与CloudKit同步完全指南
ios·swift
潘潘潘3 小时前
Android多线程机制简介
android
CYRUS_STUDIO5 小时前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向
CYRUS_STUDIO5 小时前
Android 反调试攻防实战:多重检测手段解析与内核级绕过方案
android·操作系统·逆向
黄林晴9 小时前
如何判断手机是否是纯血鸿蒙系统
android
火柴就是我9 小时前
flutter 之真手势冲突处理
android·flutter