一 快捷语法
// 取反
bool isClick = true;
isClick = !isClick;
// ?: 三目运算符
late int age;
isClick == true ? age = 1 : age = 2;
// 需要返回值
return isClick ? true ? age = 1 : age = 2;
isClick == true ? return 1 : return 2;
// ?? 判空 为空则给它赋值
String name = user.name ?? "yanan";
// 只能判断对象
// ?. 如果 user.name 为空返回null 否则返回其值
late string name;
name = user?.name;
可与??联合使用,为空返回0
name = user?.name ?? 0;
// ??= 如果为空则赋值
age ??= 1;
// => 粗箭头运算符,函数里只有单条语句时用
// 一是相当于 {return x;}
void getName(User user)=> user.name;
// 二是单条语句时用
void getName(User user)=> print(user);
// .. 级联运算符更改对象属性(通常是在创建对象时)
User user = User()
..name = 'yanan'
..age = 12;
// ~/ 相除以并返回结果的整数部分
int a = 3;
int b = 7;
int c = b ~/a;
print(c); // 2
二 常用
常用属性:
print(b.isNaN);//是否是数字 NaN
print(b.isEven);//是否是偶数 true
print(b.isOdd);//是否是奇数 false
print(b + c);//24.5
print(b - c);//-0.5
print(b * c);//150.0
print(b / c);//0.96
print(b ~/ c);//0 取整
print(b % c);//12.0
int e = -20;
print(e.abs());//绝对值 20
double f = 10.5;
print(f.round());//四舍五入 11
print(f.floor());//不大于的最大整数 10;
print(f.ceil());//不小于的最小整数 11
print(f.toInt());//转成int 10;
print(b.toDouble());//转double 12.0
print(a.toInt());
三 数组
// ... 遍历数组
var ageList = [1,2,3,4,5];
var otherList = [
6,
7,
8,
...ageList,
];
// 数组操作
// 固定长度数组添加数据 list[0]
// 不固定长度添加数据 list.add
List<int> list52 = [3, 4, 1, 2, 5];
int result27 = list52.reduce((a,b)=>(a+b));//3+4+1+2+5 用指定的方法对元素做连续操作,将结果返回
// print(result27);//15
int result28 = list52.reduce((a,b)=>(a*b));//3*4*1*2*5 用指定的方法对元素做连续操作,将结果返回
// print(result28);//120
标签: dart