/**
* Dart常用数据类型
*/
void main(){
/**
* Number 数值类型
int
double
String 字符串类型
String
Boolean 布尔类型
boolean
List 数组类型
在Dart中,数组是列表对象,所以大多数人称他为列表 和java类似
Maps 字典类型
键值对
*/
/**
* 1、字符串定义的几种方法 字符串可以使用单引号和双引号 建议指定字符串类型String 用三个引号可以换行输出(可以单引号或双引号)
*/
var str1 = "str";
var str2 = 'str2';
print(str1);
print(str2);
String str3 = "str3";
String str4 = 'str4';
print(str3);
print(str4);
String str5 = '''123
456
789
''';
String str6 = """
aaa
bbb
ccc""";
print(str5);
print(str6);
/**
* 2、字符串拼接
*/
String str7 = " Hello";
String str8 = "World";
print("$str7 $str8");
print(str7+" "+str8);
/**
* 3、字符串截取
*/
String str9 = str1+str2;
print(str9.trim().substring(0,str9.length-1));
/**
* 数值类型的定义 可自动向上转型 不可向下转型!
*/
int num = 10;
double price = 20.5;
print(num);
print(price);
double price2 = 20;
print(price2);
/**
* List
*/
List list1 = ['香蕉','苹果','西瓜'];
//取值 可以通过下标取值
print(list1[0]);
//一般定义List的方法
var list = new List();
list.add("123");
list.add(456);
print(list);
var i = list.length;
print("数组的长度:"+"$i");
print("数组是否为空:"+list.isEmpty.toString());
print("数组是否不为空:"+list.isNotEmpty.toString());
//只调用list.reversed方法的话 不是List格式 是()的格式 要转换成List
print("倒序排序"+list.reversed.toList().toString());
//只能添加一个数据
list.add("桃子");
//可以添加一个数组过去 也叫拼接数组
list.addAll(['葡萄','椰子','?']);
print(list);
//根据值取下标 取不到返回-1 取到返回下标值
print(list.indexOf('桃子'));
//根据值删除list
print(list.remove("?"));
print(list);
//根据下标删除list
list.removeAt(list.length-1);
print(list);
//根据下标起始和结束下标修改值
list.fillRange(1, 3,['被修改的值']);
print(list);
//根据下标插入值 在下标之前插入
list.insert(1, "在下标为1的前边插入的值");
print(list);
//根据下标插入多个值 在下标之前插入
list.insertAll(1, ['插入多个值','插入多个值']);
print(list);
//转换成String
print(list.join());
//转换成String并已','分割
var str = list.join(",");
print(str);
//转换成list(也叫数组)
print(str.split(","));
/**
* 定义Map的几种方式
*/
var person = {
'name':'张三',
'age':15
};
var m = new Map();
m['name'] = '李四';
m['age'] = 19;
// print(person);
// print(m);
/**
* Map的常用属性
*/
//获取所有的key
print(person.keys.toList());
//获取所有的value
print(person.values.toList());
//判断是否为空
print(person.isEmpty);
print(person==null);
print(person.isNotEmpty);
print(person!=null);
//获取Map的长度
print(person.length);
/**
* Map
*/
//addAll的方法
person.addAll({
'work':'coder',
'like':'篮球'
});
print(person);
//remove方法
person.remove('like');
print(person);
//根据key来查找数据 返回布尔类型
print(person.containsKey('work'));
//根据value来查找数据 返回布尔类型
print(person.containsValue('篮球'));
/**
* Set
* 是一个不可重复的Map
*/
var s = new Set();
s.add("香蕉");
s.add("苹果");
print(s);
//转换成List的方法
print(s.toList());
//给一个List进行去重的方法
List newList = ['香蕉','苹果','香蕉','水蜜桃','香蕉','香蕉','香蕉','香蕉','香蕉'];
var s1 = new Set();
s1.addAll(newList);
print(s1.toList());
}