• Dart的数据类型


    Dart数据类型

    Number,String,Boolean,List,Set,Map,其他

    常见API查询

    • https://api.dart.cn/stable/dart-core

    Number

    • num数字类型(既可以表示整数,也可以表示小数)
      • int 表示整数 (必须是整数)
      • double 表示浮点数 (既可以是整数,也可以是小数)
    • Number上的方法(看官网)
      • toString() 转换为字符串
      • toInt() 向下取整
      • round() 四舍五入
      • toStringAsFixed(4)
      • remainder(4) 返回余数
      • compareTo(12) 数字比较 0:相同 1: 大于 -1:小于
      • gcd() 最大公约数

    String

    • String类型
      • var 单引号双引号都可以
      • 三个引号可以声明包含换行符的字符串
    • 常见API
      • spilt(’ ') 字符串分割
      • trim() 去除字符串两边的空格
      • isEmpty 是否为空字符串
      • isNotEmpty
      • replaceAll(RegExp(r’\d+', ‘_’) 替换所有 支持正则
      • indexOf() 查找
      • contains()是否包含
    • 正则表达式
      • RegExp(r’正则表达式’)

    Boolean

    • bool flag1 = true; 通过bool关键字来表示布尔类型
    • 布尔类型只有两个值:true false
    • 对变量进行判断if(varname)改为 if(varname == 0)要显示地检查布尔值
    • false == null // true

    List

    • 字面量声明方式
      • List list = []; 不限定元素的数据类型
      • List list = []; 限定元素的数据类型
    • 构造函数声明方式(已弃用)
      • List list = new List.empty(true); 不限制长度的空列表
      • List list = new List.filled(3, 0); 限制长度的填充列表
    • 扩展运算符
      • var list = [1, 2, 3];
      • var list2 = [0, …?list]; // ?如果list为null 使用?可以消除警告
    • 常用API
      • add 给List 添加元素
      • indexOf和lastIndexOf 查找
      • remove 删除
      • removeAt 删除下标
      • insert 插入
      • sort 排序 growableList.sort((a, b) => a.compareTo(b));
      • shuffle 乱序
      • join 拼接
    • 遍历
      • for
      • for … in
      • forEach 只遍历 不可打断
      • map 遍历处理元素,然后生成新的list
      • where 返回满足条件的数据
      • any 只要有一项满足 返回true
      • every 所有的元素都满足 返回true
      • expand 降纬 list.expand(item => item).toList();
      • fold 折叠 list.fold(2, (p, item) => p + item);

    Set

    • 声明方式
      • var nums = {1, 2, 3};
      • var mySet = new Set(); mySet.add(‘a’); mySet.add(‘b’);
    • 常用API
      • add
      • addAll
      • intersection 求交集
      • union 求并集
      • difference 求差集
      • first 第一个元素
      • last 最后一个元素
      • remove

    Map

    • Map是无序键值对映射,通常称为哈希或者字典
    • 声明方式
      • var map = { key1: value1, key2: value2 };
      • var map = new Map();
      • map[‘key’] = value;
    • 常用API
      • map[‘key’] 获取该key的值
      • containsKey 判断Map中的key是否存在 map.containsKey(‘name’);
      • putIfAbsent(‘gender’, () => ‘男’); 如果存在该key 就什么都不做 如果不存在就写入
      • keys
      • values
      • removewhere

    其他

    • Runes(符文)
      • Runes 是一个32位字符对象,它可以把文字转换为表情符号或者特定的文字
      • print(‘\u{1f44d}’) => 👍
      • https://copychar.cc/
    • Sysbol
      • 在Dart中符号用#开头来表示的标识符
    • dynamic
      • 动态数据类型
  • 相关阅读:
    阿里这份Java程序性能优化指南,让你的程序快上200%
    flutter系列之:移动端的手势基础GestureDetector
    (十四)OpenCV中的自带颜色表操作cv::LUT
    Linux环境修改服务器时间和网络时间保持一致
    使用vxe-table 制作编辑表格
    MySQL的事务隔离是如何实现的?
    超实用 :大部分的人都不知道的一个Python技巧
    C语言分支与循环语句
    等保合规是什么意思?怎么做?
    [CakeCTF2022-09-04]CakeGEAR-Writeup
  • 原文地址:https://blog.csdn.net/shadowfall/article/details/126489077