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

相关推荐
_瑞6 分钟前
APM_寄存器
ios·汇编语言
码农coding1 小时前
android12 点击桌面应用图标启动Activity流程
android
johnsong2 小时前
深度拆解:150M循环模型如何用循环推理击败大Transformer
android·深度学习·transformer
2501_916008893 小时前
iOS App 请求地址查看,不用配置看到 App 调了哪些接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
CedarQR3 小时前
云卓 G20 遥控器 Android 开发实录:从 USB 设备到读取摇杆/按键通道值
android·linux·无人机
大龄秃头程序员4 小时前
Dart/Flutter StatefulWidget 生命周期 + ChangeNotifier Listener 泄漏的经典坑。
flutter
pengyu4 小时前
【Kotlin 协程修仙录 · 炼虚境 · 初阶】 | 虚空造物:Channel 基础与协程间通信的管道艺术
android·前端·kotlin
小强闯江湖4 小时前
ViewCompose:让原生 Android View 进入声明式时代
android·开源·kotlin
2501_915106325 小时前
Swift 开发环境搭建指南:三条路径按目标对号入座
开发语言·vscode·ios·objective-c·个人开发·swift·敏捷流程
摇滚侠6 小时前
《SpringBoot 3:入门与应用实战》第 6 章 Spring Boot 最佳实践 阅读笔记 12
android·spring boot·笔记