1、dart的命名规则
1)变量名必须是数字,下划线、字母和美元符号($) 组成
2)标识符不能够是数字开头
3)标识符不能够是保留字和关键字
4)变量名区分大小写
5)标识符一定要一目了然,标识符使用名词。 方法使用动词
2、var 、const、final的区别
dart是一个强大的脚本类语言, 可以先不定义变量的类型;
自动会倒推变量类型
dart 中通过 var 来声明变量
const 表示值不变,一开始就得赋值;
final 不仅有const的特征,最重要的还是它运行时,永远不会改变。
final和const共同点:
1.类型声明可以省略
final String a = ‘abc’;
final a = ‘abc’;
const String a = ‘abc’;
const a = ‘abc’;
2.初始化后不能再赋值
final a = ‘aaa’;
a = ‘abc’; //错误
const b = ‘bbb’;
a = ‘abc’; //错误
3.不能和var同时使用
final var a = ‘abc’;//错误
const var b = ‘abc’;//错误
final和const区别
1.类级别的常量,通常用 static const
2.const可以使用其他const常量的值来初始化其值
const width=100;
const height=50;
const square=width*height;
3.需要确定的值
final dt = DateTime.now();//正确,运行时有确定的值
const dt = const DateTime.now();//错误,需要编译时有确定的值
4. 不可变性可传递
const的不可变性是可传递的,final不是
final List ls = [11, 22, 33];
ls[1] = 44;//正确
const List ls = [11, 22, 33];
ls[1] = 44;//错误
5.内存中重复创建
值相同时final在内存中重复创建,const会引用相同值
final a1 = [11 , 22];
final a2 = [11 , 22];
print(identical(a1, a2));//false
const a1 = [11 , 22];
const a2 = [11 , 22];
print(identical(a1, a2));//true
3.dart 中数据排序方法:
sort:
List list = [
{
"name":"hahha",
"age":10
},
{
"name":"hahha",
"age":18
},
{
"name":"hahha",
"age":12
},
{
"name":"hahha",
"age":11
}
];
print("排序前:$list");
list.sort((left,right)=>left["age"].compareTo(right["age"]));
print("排序后:${list}");