一、Numbers数值

在dart中数字类型只有int和double两种,int和double的最大长度是64位,范围在2的63次方到负2的63次方减1,num是int和double的父类,如下代码:

part of dart.core;
abstract class int extends num {...}
abstract class double extends num {...}
abstract class num implements Comparable<num> {bool operator ==(Object other);int get hashCode;int compareTo(num other);num operator +(num other);num operator -(num other);num operator *(num other);num operator %(num other);double operator /(num other);int operator ~/(num other);num operator -();num remainder(num other);bool operator <(num other);bool operator <=(num other);bool operator >(num other);bool operator >=(num other);bool get isNaN;bool get isNegative;bool get isInfinite;bool get isFinite;num abs(); //绝对值num get sign;int round();//经过四舍五入得到整数int floor();//求向下的最大整数int ceil();//求向上最大的整数 int truncate();//截取掉小数点取整...
}

二、String

(1)Dart 字符串是 用UTF-16 编码的字符序列,可以使用单引号双引号来创建字符串。

(2)可以使用三个单引号或者双引号创建多行字符串对象。

(3)使用+或者空格进行拼接字符串、也可以在字符串中使用转义字符

(4)可以使用 r 前缀创建”原始raw”字符串。

(5)可以在字符串中使用表达式: ${expression},如果表达式是一个标识符,可以省略 {},如果表达式的结果为一个对象,则 Dart 会调用对象的 toString() 函数来获取一个字符串。

String str1 = 'helloworld'; //单引号定义
String str2 = "helloworld" + 'abc'; //双引号定义 与 字符串相加
String str3 = '''helloworld1helloworld2helloworld3'''; // 多行字符串
String str4 = '''helloworld1\nhelloworld2helloworld3'''; // \n换行,\转义特殊字符
String str5 = r'''helloworld1\nhelloworld2helloworld3'''; //字符串前加r(raw),打印原始数据
String str6 = "abc" "def";
String str7 = "输出str6的值$str6"; //使用$符号输出变量的值

三、Booleans

布尔,编程中必须有的,dart为我们提供布尔关键字是bool。但是有点不同,java中boolean默认是false,而dart中的bool默认值是null。如下:

bool isTrue;print(isTrue ? "true" : 'false');
Failed assertion: boolean expression must not be null
#0      main (package:flutter_demo/dartEx.dart:75:9)
#1      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:301:19)
#2      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

另外:if表达式中必须是bool类型,不然编译器会提示错误。

四、Object类型

在Dart语言中所有东西都是对象,都继承于Object, 所以可以使用Object可以定义任何的变量,而且赋值后,类型也可以更改。

五、Lists集合

(1)Dart中可以直接打印List内的元素,而不是像Java打印List对象的地址。

(2)List集合的下标是从0开始

(3)支持泛型

六、Sets

set1.difference(set2):返回set1集合里有但set2里没有的元素集合

set1.intersection(set2):返回set1和set2的交集

set1.union(set2):返回set1和set2的并集

set1.retainAll():set1只保留某些元素(要保留的元素要在原set中存在)

七、Maps

Map集合是以键值对的形式,键和值中可以是任何类型(包括null)。在一个Map对象中键不能重复,而值可以重复,或者说每个建都有一个与之关联的值。Map的实现类有HashMap(无序)、LinkedHashMap(按键插入序列)、SplayTreeMap(按键的排序顺序)。通常不允许在正在Map上执行操作,例如在调用在[forEach]或[putIfAbsent]调用期间,在迭代键或值时修改映射也可能打断迭代。

Map的创建

(1) 花括号创建

var map = {"key1":"value1", "key2":"value2", ..., "keyN":"valueN"};//不指定泛型
var map2 = <String,String>{"key1":"value1", "key2":"value2", ..., "keyN":"valueN"};//指定泛型

(2) 构造器创建

Map map = new HashMap();//不指定泛型
Map<String,String> map2 = new HashMap();//指定泛型
map2["key1"] = "value1"; //赋值

八、Runes符号字符串

Dart字符串是UTF-16代码单元序列,而Runes 对象是一个UTF-32字节单元定义的Unicode字符串,它可以通过文字转换成符号表情或者代表特定的文字。这样设计也是考虑兼容 UTF-16 四个字节的情况。dart:core库中的String类提供了访问符文的方法,如下:

  • 使用String.codeUnitAt()函数

  • 使用String.codeUnits属性

  • 使用String.runes属性

九、Symbols标识符

Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。要获取标识符的符号,请使用符号文字,它只是#后跟标识符。一般Symbols用于Dart中的反射,但是注意在Flutter中禁止使用反射。

Dart(5)-内置类型相关推荐

  1. Dart基础学习02--变量及内置类型

    Dart基础学习02--变量及内置类型 Dart中的变量 首先看一个变量的定义和赋值 var name = 'Bob'; 在Dart中变量名都是引用,这里的name就是一个指向值为Bob的字符串的引用 ...

  2. dart系列之:dart语言中的内置类型

    文章目录 简介 Null 数字 字符串 布尔值 列表 set和map 简介 和所有的编程语言一样,dart有他内置的语言类型,这些内置类型都继承自Object,当然这些内置类型是dart语言的基础,只 ...

  3. Flutter学习之Dart语言基础(内置类型)

    Dart支持以下内置类型: numbers strings booleans lists (也称为数组) sets maps runes (用于在字符串中表示Unicode字符) symbols Nu ...

  4. 《C++primer》第二章--变量和基本内置类型

    基本内置类型 如何选择类型的几点建议 当明确知晓数值不能为负数时,选用无符号类型 使用int进行整数运算.因为short一般表示的范围比较小,而long一般和int有相同的范围.如果表示的范围超过了i ...

  5. golang内置类型和函数

    2019独角兽企业重金招聘Python工程师标准>>> /* 内置类型 值类型: bool int(32 or 64), int8, int16, int32, int64 uint ...

  6. python中整数类型的表示需加引导符号_Python内置类型及常见问题

    python的内置数据类型非常丰富,大致可以分为五类:None.数字类型.序列类型.映射类型和集合类型.下面我将分别对他们进行介绍,做个总结以备以后查看.下面的表列出了各个类别下的具体数据类型.*注: ...

  7. python str byte编码_Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题...

    Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str ...

  8. golang内置类型

    内置类型 值类型: bool int(32 or 64), int8, int16, int32, int64 uint(32 or 64), uint8(byte), uint16, uint32, ...

  9. python内置序列类型_Python序列内置类型之元组类型详解

    Python序列内置类型之元组类型详解 1.元祖的概念 Python中的元组与列表类似,都是一个序列,不同的是元组的元素不能修改而已. 2.元组的创建 元组使用小括号,列表使用方括号. tup = ( ...

最新文章

  1. Google开源OCR项目Tesseract训练(自己训练的记录,未成功)
  2. 数据库建模模板、菜单显示出问题解决方案
  3. [译]SSAS下玩转PowerShell(三)
  4. 【计算摄影】计算机如何学会自动裁剪图片(自动构图)?
  5. c语言编程 输入螺旋数组,C语言 经典题目螺旋矩阵 实例详解
  6. 组合模式源码解析(jdk+mybatis)
  7. 丘成桐演讲全文:几何与计算数学的关系
  8. 为什么C语言仍然占据统治地位?
  9. Windows Hook机制(转贴一)
  10. PyTorch一年增长194%,超越TensorFlow指日可待
  11. 95-910-170-源码-FlinkSQL-Flink SQL 中的流和动态表
  12. 能取代top命令的htop
  13. python实现简单的端口扫描器
  14. TCPUDP测试工具的使用
  15. c语言源代码三角函数大全,【C语言及程序设计】项目2-9-3:编制三角函数表
  16. 【iOS-iap防护】验证用户付费收据!拒绝iap Cracker!拒绝iap Free!让iphone越狱用户无从下手!(作者新浪微博: @李华明Himi )
  17. 管理者一定要会讲故事
  18. [08S01] Communications link failure报错解决
  19. MyBatis 第二扇门
  20. 科研伦理与学术规范-期末考试答案

热门文章

  1. 一个有趣的博弈或推理游戏——除数博弈(动态规划与归纳法)
  2. 印象笔记如何分享链接_几步搞懂印象笔记的链接功能
  3. ROS与优傲机器人UR机器人通讯
  4. Flink On Yarn HA 安装和配置
  5. android实现按键找图功能,按键精灵安卓版找图教程 找图功能使用技巧介绍
  6. Quartus II使用说明(Verilog HDL二选一数据选择器 )
  7. linux命令英文单词
  8. 视频webm怎么转换成mp4
  9. 如何零成本实现微信公众号自助查券返利机器人(二)
  10. 纯干货-5Deep Reinforcement Learning深度强化学习_论文大集合