dart&&flutter系列 一篇文章学习dart,主要列出dart和主流java,C#等语言的差异,适合有编程基础的人

1.dart中有个特殊的定义常量的关键字final,类同于const

区别是final是运行时常量,可以定义DateTime.Now()/方法等为常量,而const不行,

Final是惰性初始化,在运行时第一次使用前才初始化。

2.string 类型的字符串可以用三个单引号(或三个双引号)圈起来,这样支持换行和格式保留,如下图

3.一种新的字符串拼接方式$变量名(传统用+拼接也可以用)

4.关于字符串换行等特殊字符处理,字符串前加上r可以保留特殊字符

5.数组的定义可以不指定类型,也可以指定类型,两种for循环,foreach

6.合并数组,有个独特的方法,...或...?

7.List.filled(固定长度集合,创建后可以修改元素,不能添加删减元素)

 

8.取整 a~/b

 

 

9.b??=10    此赋值运算符只有b为空的时候才赋值,如果b有值则不赋值

10.number类型 有个方法isNaN  判断是否非数值

11.Set 无序的唯一集合,重复的元素不会被添加

Map,无序的key-value集合,类似dictionary,添加单项用putIfAbsent,多个用addAll

12.dart允许方法嵌套,方法内的方法作用域仅在该方法内

13.可选参数在[可选参数1=默认值,可选参数2=默认值]中定义,在必要参数的后面定义

命名参数,跟可选参数类似,区别是括号由[ ]变成{ },方便查阅参数,提升代码阅读性

14.遍历打印简写

15.箭头函数和自执行方法。

箭头函数类似C#中的lambda中的goes to ,区别是后面只能有一句语句

自执行方法跟js自执行函数类似

16.跟js一样的闭包

17.没有 public等访问修饰符,但有文件内私有变量,不同文件类的私有变量不可直接访问,同一文件内不同文件的私有变量可以访问;私有方法的访问也一样

18.get set

类似C#中的get set方法,可以直接使用

19.级联操作,与方法,用 ..  链接同一对象不同操作

20.类继承关键词 extends    子类 extends 父类

21.子类继承父类  C#中的base关键字在dart中是super

 22.实现接口的关键词Implements  ;一般没有interface接口,直接定义abstract抽象类当做接口

 

23.Mixins  组合  混合类会‘继承’父类的所有属性,方法等    混合非多继承;混合类没有构造函数,同名方法后继承的会覆盖先继承的;不能混合继承子类

24.dart三种引入库的方式:

24.1引入自定义库:

Import ‘自定义类名.dart’

    import 'TestClass.dart';

24.2引入系统内置库:

   Import ‘dart:系统库名’

import "dart:io";

24.3引入第三方:类似于nuget包

   第三方包平台:

      https://pub.dev/packages

      https://pub.flutter-io.cn/packages

      https://pub.dartlang.org/flutter/

      1)需要在自己项目根目录新建个pubspec.yaml

      2)在pubspec .yaml文件然后配置名称、描述、依赖等信息,如下图

      3)运行dart pub get ,这一步可能很卡,因为包源在国外

         可以通过配置国内的镜像包源环境变量,重启项目解决:

         FLUTTER_STORAGE_BASE_URL = https://storage.flutter-io.cn

PUB_HOSTED_URL = https://pub.flutter-io.cn

      4)项目中引入库import ' package :http/http.dart' as http;

25.异步方法 async 在方法名称后面写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值