Dart 基础数据类型
数值型(Number)
Number类型包含整形和浮点型两种数据类型,两种类型都可以使用num定义,例如:num a = 1; num b = 1.1;
整型(int)
整型用int表示,取值范围-263 ~ 263 -1的整数类型(java取值范围-2147483648 至2147483647),如int a = 1;
浮点型(double)
浮点型用double表示,即为双精度浮点型,如double b = 1.1;
在定义数值型数据类型时不可将已经定义为int型或者double型的数据转成num型,但num型定义的数据可以转成int型或double型。
字符串(String)
字符串类型使用单引号’'或者双引号""包裹,使用关键字String表示。
字符串拼接
- Dart可将多个字符串对方在一起进行拼接如:
String testStr = '这是' '一个' '字符串';
- Dart可使用+运算符拼接 如:String testStr = ‘这是’+ ‘一个’ + ‘字符串’;
- 使用表达式拼接: 在Dart中可以通过${}来插入表达式来拼接字符串,如果表达式是一个变量,则{}可以被省略。例如:
String insertStr = '变量1';
String testStr = '插入$insertStr然后插入${insertStr.length}'
testStr的值即为:“插入变量1然后插入3”。
多行字符串
多行字符串的生成可使用三个单引号或三个双引号包裹来定义 如:
''' 这是多行
字符串'''
也可以表示成:
"""这是
多行
字符串"""
字符串裁切
String字符串不能被更改,但是可以通过substring(int start, int end)方法来生成一个新的字符串,裁切包括start不包括end对应字符:
String string = '这个字符串太长了';
String newString = string.substring(0, 5);
newString的值为”这个字符串“。
Map
Map是key-value的容器,数据以键值对的形式存储,其中,key和value可以是任意类型,key是唯一的,value可以不唯一。
Map的创建
字面量
在Dart中Map的字面量定义可以这样表示:
var testMap{
'1':'one',
'2':'two',
'3':'three'
};
var testMap2{
1:'one',
2:'two',
3:'three'
}
Dart语言是强类型语言,例如testMap2,虽然可以不指定类型,但是会推断key为int类型。
new
使用构造器创建Map可直接使用Map()或使用关键字new。
例如:
var testMap = Map();
var testMap2 = new Map();
在已存在对象中添加键值对
//向testMap对象中添加键值对'1':'one'
testMap['1'] = 'one';
从Map中获取value
testMap['1'];
Set
Dart中元素唯一且无序的集合
Set的创建
字面量
var testSet = {'1','2','3','4','5'};
new
var testSet1 = new Set();
创建空集<>{}
var testSet2 = <String>{};
Set<String> testSet3 = {};
在Set中添加元素
var testSet2 = <String>{};
testSet2.add('1');
var testSet3 = {};
testSet3.addAll(testSet2);
有序数组(List)
List 代表有序的集合,他的字面量可表示为:
var testList = [1,2,3,4,5];
同时依然可以同过new关键字创建:
var testList1 = new List();
支持添加元素方法add(Object obj) 和addAll(List list)
布尔类型(Boolean)
Dart 使用 bool 类型表示布尔值。 Dart 只有字面量 true and false 是布尔类型。
bool boolTrue = true;
bool boolFalse = false;