经过了一个星期的React Native的学习和了解,感觉还是Flutter的优势会更高一些,而且从学习成本来说感觉做安卓的同学学习flutter会相对低一点,门槛会低很多。当然dart的基础笔者还是从其他朋友的资料总结而来,这里我尽可能的说的清楚一些!
文章纯干货!!!!!文末有福利!!!
首先是关键字(56个)
| 关键字 |
| abstract | do | import | super | as | dynamic | in | switch | assert | else | interface | sync* | enum | implements | is | this | async* | export | library | throw | await | external | mixin | true | break | extends | new | try | case | factory | null | typedef | catch | false | operator | var | class | final | part | void | const | finally rethrow | while | continue | for | return | with | covariant | get | set | yield* | default | if | static | deferred |
从上面的关键字里面可以看出和Java中的关键字还是有很多一样的,含义也是如此。
变量的声明
- var
- dynamic
- Objec
首先声明一个变量,变量的类型可以改变:
var name;
name = 'tom';
name = 123;
dynamic name;
name = 'tom';
name = 123;
Object name;
name = 'tom';
name = 123;
这里是不会报错的,说明变量的类型是可以改变的,并且都是可以print出来。
声明一个初始化的变量,变量类型不能再更改:
var name = 'tom';
name = 123;//这里是不对的,编译器会报错
这里声明一个name被发现时String类型的之后,就不能转变其他的类型了
但是:
dynamic 和 Object 声明的变量初始化后,变量的类型仍可改变:
dynamic name = 'tom';
name = 123;
Object name = 'tom';
name = 123;
这里dynamic和Object声明的类型是可以改变的。
使用确定类型显示声明变量,变量的类型不能再改变:
String name = 'tom';
name = 123;//这里已经定义name是Stiing类型的,就不能更改为int类型
默认值
看到这里我们想了解了,如果声明一个变量,没有初始值的时候他的默认值是什么呢?
dart里面的默认值都是null,一切皆对象,对象的默认值是null。
ar name;
assert(name == null);
print("assert pass");//可以正常打印
这里我们发现此处的断言是可以是真的,程序不会崩溃,说明默认值是null。
final 和 const
这两个关键字很重要
首先被这两个关键字修饰的变量,变量类型是可以省略的:
const age = 1;
final sex = '男';
被其修饰的变量无法更改其值,并且声明出来之后必须要进行初始化,相信学过Java的同学肯定对final这个关键字很熟悉了吧
var varList = const [1, 2, 3];
final finalList = const [1, 2, 3];
const constList = [1, 2,