安装 dart sdk
略。
dart 初试
//dart 中所有代码都以main函数为基础
main() {
print('hello dart');
}
//没有返回值的main函数
void main(){
print('hello dart!');
}
一:dart 数据类型
- string 类型
//定义字符串
String first_name = 'kang';
var last_name = 'jiahao'; // var 在定义字符串的时候会有一个自动类型推断的过程。
// 定义多行字符串
var warp_str = '''first str
second str
third str
''';
print(first_name);
print(last_name);
print(warp_str);
//拼接字符串
print('$first_name $last_name');
print(first_name + ' ' + last_name);
- 数值类型 int / double, boolean类型
//定义 int double 类型
var a = 123;
int b = 245;
var c = 10.5;
double d = 12.9;
d = 15;
//double 类型精度高于int,所以可以同时被int 和 double类型的赋值。
print(a); //123
print(b); //245
print(c); //10.5
print(d); //15.0
// boolean类型同javascript ,有两个值 true/false
var flag = true;
var flag2 = false;
// var flag2 = 123; // 不能被赋值为其他类型
print(flag);
print(flag2);
//比较类型 (dart中不会做类型转换)
String a = '123';
int b = 123;
print(a == b); //false
- list(数组,集合类型)
//数组,集合类型
//第一种定义List的方式
var list01 = ['jack','tom','mary'];
print(list01);
print(list01.length);
//第二种定义List的方式
var list02 = new List();
list02.add('张三');
list02.add('李四');
print(list02);
//定义list,指定类型
//定义一个string 数组
var list03 = new List<String>();
- maps 类型(类似 json)
//第一种定义maps的方式
// maps 数据类型
//注意:key值必须使用 单引号或者双引号包裹
var person = {
'name':'jiahao kang',
'age':20,
'work':['程序员','外卖员'],
};
print(person);
//使用某个key-value,不是javascript中的.
print(person['name']);
//第二种定义maps的方式
var person2 = new Map();
person2['name'] = '康家豪';
person2['age'] = 21;
person2['work'] = ['程序员','外卖员'];
print(person2);
print(person2['name']);
- dart 数据类型判断
//dart 类型判断 使用 is 关键字
var a = 123;
print(a is int); //true
2.dart 运算符 类型转换 循环语句
- 算数运算符 + - * / ~/(取整) %(取余)
- 关系运算符 == != > < >= <=
- 逻辑运算符 ! && ||
- 赋值运算符 = ??= (如果某个变量值为空的话,就将后面的值赋值给变量)
- 条件表达式 if else switch case 三目运算符 ?? 运算符
- 一些不同于javascript的运算符的展示
//??= 运算符在a没有被赋值的时候,会将90赋值给a,当a被赋值为100的时候,不执行
var a = 100;
a ??= 90;
print(a); // 100
// ?? 运算符 在a有值的时候取a得值赋值给b,在a没有值的时候去 后面的10 赋值给b
var a;
var b = a ?? 10;
print(b); //10
var a = 100;
var b = a ?? 10;
print(b); //100
- 类型转换
//类型转换
// Number <-> String
int a = 123; //toString()
print(a.toString());
String b = '234'; // int.parse() 浮点类型 double.parse()
print(int.parse(b));
- 循环语句 for循环 while do…while break continue
dart 集合类型 List Set Map 详解 以及一些循环语句
- list 及
- 相关属性 (length isEmpty reversed)
var list = ['top','left','right','bottom'];
var newList = list.reversed.toList(); //需要将转换好的数据转化为 list 类型
- 相关方法
add(); //添加数据
addAll(); //拼接数组
indexf(); //同javascript
remove(); //删除
//......具体查文档
- Set 及 相关属性
- set 用它最主要的功能是去除数组中的重复内容,set是没有顺序且不能重复的集合,所以不能通过索引值去获取值(同 javascript)
var s = new Set();
s.add('apple');
s.add('apple');
s.add('banana');
print(s); //{apple,banana};
print(s.toList()); //['apple','banana'];
-
map 及
- 相关属性 keys(获取所有key值) values(获取所有value值) isEmpty(是否为空)
- 相关方法 remove(key) addAll({…})(合并对象)
-
数组方法 forEach() => forEach(js) map() => map(js) where() every() => every(js) any() 大体同javascript