基本数据类型: Number数字、String字符串、Boolean布尔、List数组、Map集合、symbol符号
Number:数字类型,包括 int整型和double浮点型;
int:整型,取值范围为-2^53到2^53,int类型不能包含小数点;
double:浮点型,64位(双精度)浮点数;
num:数字类型,int和double都是num类型的子类,num类型包括的运算操作有:+、-、*、/、以及移位操作>>,num类型包括的常用方法有:abs、ceil和floor;
String:字符串
Boolean:布尔
List:数组
Map:集合
symbol:符号
类型转换
// String -> int
var one = int.parse('1');
assert(one == 1);
// String -> double
var onePointOne = double.parse('1.1');
assert(onePointOne == 1.1);
// int -> String
String oneAsString = 1.toString();
assert(oneAsString == '1');
// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == '3.14');
${表达式}的使用
类似于JS中 ES6 上面的表达式的使用,感觉是相通的。
void main(){
var flag = false;
var str = "测试字符串";
print("我们来验证字符串:${str}" "然后看看我们的 flag:${flag}");
// 最后输出的结果为:我们来验证字符串:测试字符串然后看看我们的 flag:false
}
List数组
void main(){
// 使用构造创建
var list = new List();
//创建一个int类型的list
List intlist = [1, 2, 3];
// 创建一个常量List, 不可以改变的List
List constList = const[10, 7, 23];
// 在数组中可以存放多个不同类型的对象
var list = [1, 2, 3, 'Flutter', true];
print(list); // 输出的结果:[1, 2, 3, Flutter, true]
// 修改数组下标为2 的值
list[2] = 'Dart';
print(list); // 输出的结果:[1, 2, Dart, Flutter, true]
// 获取数组的长度
print(list.length); // 输出的结果:5
// 向数组中添加元素
list.add("value");
print(list); // 输出的结果:[1, 2, Dart, Flutter, true, value]
// 向数组中的指定位置添加元素
list.insert(1, 'element');
print(list); // 输出的结果:[1, element, 2, Dart, Flutter, true, value]
// 移除数组中的元素
list.remove("value");
print(list); // 输出的结果:[1, element, 2, Dart, Flutter, true]
// 移除数组中指定的元素
list.removeAt(1);
print(list); // 输出的结果:[1, 2, Dart, Flutter, true]
// 判断数组中是否有某个元素
print(list.indexOf("element")); // 输出结果:-1
// 可以使用 sort() 函数来排序, 但是由于我们使用定义的数组类型不一样,就不能使用
var intlist = [1, 2, 5, 6 ,3];
// 根据语法提示: List.sort([(int, int) → int compare]) → void
intlist.sort( (a, b) => a.compareTo(b) );
print(intlist); // 输出结果:[1, 2, 3, 5, 6]
}
Map集合,键值对
一、创建 Map 集合
void main(){
// 创建Map
var language = {'fisrt': 'dart', 'second': 'java'};
// 创建不可变的 Map
var constLanguage = const {'fisrt': 'dart', 'second': 'java'};
// 通过构造器创建
var initLanguage = new Map();
}
二、常用方法
void main(){
// 创建Map
var map = {'fisrt': 'dart', 'second': 'java'};
// 获取长度
print(map.length); // 输出结果:2
// 判断是否为空
print(map.isEmpty); // 输出结果:false
print(map.isNotEmpty); // 输出结果:true
// 获取到所有的 key
print(map.keys); // 输出结果:(fisrt, second)
// 获取到所有的 values
print(map.values); // 输出结果:(dart, java)
// 判断是否包含某个key
print(map.containsKey("key")); // 输出结果:false
// 判断是否包含某个value
print(map.containsValue("key")); // 输出结果:false
// 添加一个新的元素进去
map['third'] = 'key';
print(map); // 输出结果:{fisrt: dart, second: java, third: key}
// 循环打印 代码提示:Map.forEach((String, String) → void f) → void
map.forEach( (key, value) => getMap(key, value) );
}
void getMap(key, value){
print("key:${key}, value:${value}");
}
网友评论