在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Fluter是Google推出的跨平台开发App的一套框架,很多人都说,Google出品比属于金品,故,我也来凑凑热闹,Fluter是用Dart写的,所以在用Fluter之前,我们还是有必要简单了解一下Fluter的。之前的一直使用Facebook推出的RN框架写App,感觉RN的hot reload 做的不是那么完美,今年试了一下fluter,感觉他的hot reload比RN的好多了,另外,Fluter用dart写,dart算是强类型吧,比es6要爽的多,代码容错率大大提高。 废话不多说,简单介绍一下。 class Bicycle { int cadence; int speed; int gear; int _speed=0; Bicycle(this.cadence, this.gear); //Bicycle(this.cadence, this.speed, this.gear); int get Speed=>_speed; @override String toString() => 'Bicycle: $Speed mph'; void applyBrake(int decrement) { _speed -= decrement; } void speedUp(int increment) { _speed += increment; } } void main() { var bike =new Bicycle(23,2); //new Bicycle(2, 3, 1); print(bike); print(bike.cadence); bike.applyBrake(2); print(bike.Speed); } 上面这段代码 1.定义一个class,class不用声明public,因为默认就是public,特别注意:在 Dart 中没有诸如 public、private、protected 这样的关键词 2.申明变量,变量默认是public,eg:int cadence;如果要申明私有变量,在变量前加一个下划线即可,eg:int _cadence;所有未初始化的变量,值都为null,无论int,stringdart中没有属性一说,申明的变量就自带get,set访问器,默认情况下,Dart 会为所有公开的变量提供存取方法,除非你需要提供仅仅可读、可写,或者在某些情况下需要在 getter 方法中进行计算或是在 setter 方法中进行某些值得更新,否则都不需要再重新定义存取方法,如果想定义一个变量为只读,可以这样,eg:int get Speed=>_speed;如果想定义一个变量为可写,可以这样,eg:int set Speed=>_speed;特别注意:在 Dart 中没有诸如 public、private、protected 这样的关键词 3.所有的 Dart 类中都有一个
4.说到这里,提一下dart里的字符串模板,可以在字符串内使用 例子如上 5.针对只有一行的方法可以使用 6.再说一下dart 类中的构造函数,dart中构造函数不可以向C#/java里那样直接重载,在构造函数的参数中使用 this 可以直接对实例变量进行赋值,不用再编写多余的代码 eg:下面这两段代码是相同功效的
7.dart中的main方法, String scream(int length) => "A${'a' * length}h!"; main() { final values = [1, 2, 3, 5, 10, 50]; for (var length in values) { print(scream(length)); } } //output Aah! Aaah! Aaaah! Aaaaaah! Aaaaaaaaaaah! Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah! 效果等同于: 将上述代码中的 main() 方法中的 for() {...} 替换为下面的一行代码,它直接使用了链式调用的方式: values.map(scream).forEach(print); 参考文献:https://codelabs.flutter-io.cn/codelabs/from-java-to-dart-cn/index.html#5 dart官网:https://www.dartlang.org/
|
请发表评论