前言
筆者入門(mén)flutter有段時(shí)間了额各,但是發(fā)現(xiàn)一些比較重要的知識(shí)點(diǎn)還是老是遺忘野崇,為了方便自己贞岭,順便也可能能夠方便一下廣大coders绎速,決定整理一下系列的學(xué)習(xí)筆記。
PS:此篇為首篇焙蚓,主要是Dart語(yǔ)言的語(yǔ)法糖收集纹冤,我自己有OC、js购公、Swift的基礎(chǔ)萌京,故收集的都是與之不同之處,僅供參考(>_<)宏浩,非常歡迎補(bǔ)充和指正知残。
知識(shí)點(diǎn)
1.常量定義
Dart中常量有兩個(gè)關(guān)鍵詞const和final,但是final更為強(qiáng)大
//普通常量完全一樣
const i = 123;
final i2 = 234;
//動(dòng)態(tài)獲取的常量只能用final
final dy_i = new DateTime.now();
2.字符串
多行字符串用3個(gè)引號(hào)'''xx'''比庄,字符串拼接除了’+‘之外還可以用$求妹,數(shù)字和字符串直接相互轉(zhuǎn)換用toString和parse
//多行
String str01 = '''123
123
123
''';
String str02 = '444444';
//拼接
print("$str01$str02");
print(str01 + '888' + str02);
//轉(zhuǎn)換
var num = 2;
var str_num = num.toString();
// print(str_num);
// print(double.parse(str_num));
3.數(shù)組List
創(chuàng)建乏盐、增刪查改、去重
List l1 = ['r','p'];
l1.add(1);
print(l1.length);
print(l1.isNotEmpty);
//倒序制恍,返回元組
print(l1.reversed);
print(l1.reversed.toList());
var l2 = new List<String>();
l2.add('o');
l2.addAll(['r','p']);
//刪父能,有重復(fù)只刪首個(gè)
l2.remove('r');
//查找,返回首個(gè)的下標(biāo)净神,未找到返回-1
print(l2.indexOf('r'));
//改何吝,0到2都改為t
l2.fillRange(0, 2,'t');
//與字符串相互轉(zhuǎn)換
var str_list;
str_list = l2.join('-');
print(str_list);//[t, t, p]
print(str_list.split('-'));//t-t-p
//map where 返回元祖 any every 返回bool
var l3 = l2.map((value){
if(value=='t') return 'list';
return value;
});
print(l3);//(list, list, p)
var l4 = [1,2,3,4].where((value){
return value>2;
});
print(l4);//(3, 4)
//任意滿(mǎn)足
var b1 = [1,2,3,4].any((value){
return value>2;
});
//全部滿(mǎn)足
var b2 = [1,2,3,4].every((value){
return value>2;
});
print(b1);//true
print(b2);//false
//用集合去重
l2.addAll(['o','t']);
print(l2);//[t, t, p, o, t]
var st = new Set();
st.addAll(l2);
print(st.toList());//[t, p, o]
4.字典Map
鍵值對(duì),支持map[key]語(yǔ)法
Map m1 = {'name':'張三'};
print(m1['name']); // 張三
5.運(yùn)算符
有些比較有意思的運(yùn)算符鹃唯,其他都相同
//取整和為空判斷爱榕??
var num1;
var num2 = 2;
num1 = num1 ?? 3;//簡(jiǎn)寫(xiě)為??=
print(num1~/num2);//1
print(num1);//3
6.方法Function
參數(shù)類(lèi)型有普通參數(shù)坡慌、可選參數(shù)黔酥、命名參數(shù)、方法參數(shù)
//[]可選參數(shù)八匠,{}命名參數(shù)絮爷,且不能共存
String printUserInfo(String name,{int age = 28,String sex,String work}){
print('name=$name,age=$age,sex=$sex,work=$work');
}
fn1(){
print('gogogo!');
}
printUserInfo('張三',work:'搬磚');
fn2(fn){
fn();
}
fn2(fn1);