2019最新Flutter 面试知识点集锦(一)

本文总结了Flutter面试中的关键知识点,包括Dart语言特性,如强类型、闭包、异步操作(Future和Stream),以及Flutter的生命周期、Widget、Element和RenderObject的关系。此外,还介绍了Zone的概念,以及如何使用StreamBuilder和FutureBuilder处理异步数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

谷歌大会之后,有不少人咨询了我 Flutter 相关的问题,其中有不少是和面试相关的,如今一些招聘上也开始罗列 Flutter 相关要求,最后想了想还是写一期总结吧,也算是 Flutter 的阶段复习。

系统完整的学习是必须需要的,这里只能帮你总结一些知识点,更多的还请查阅 Dart/Flutter 官网

本篇主要是知识点总结,如有疑问可点击各文章链接了解详情,或者查阅我专栏

Dart 部分

其实学习过 JavaScript 或者 Java/Kotlin 的人,在学习 Dart 上几乎是没什么难度的,Dart 综合了动态语言和静态语言的特性, 这里主要提供一些不一样,或者有意思的概念。

  • 1、Dart 属于是强类型语言 ,但可以用 var 来声明变量,Dart 会自推导出数据类型,var 实际上是编译期的“语法糖”。dynamic 表示动态类型, 被编译后,实际是一个 object 类型,在编译期间不进行任何的类型检查,而是在运行期进行类型检查。
  • 2、Dart 中 if 等语句只支持 bool 类型,switch 支持 String 类型。
  • 3、Dart 中数组和 List 是一样的。
  • 4、Dart 中,Runes 代表符号文字 , 是 UTF-32 编码的字符串, 用于如 Runes input = new Runes(’\u{1f596} \u{1f44d}’);
  • 5、Dart 支持闭包。
  • 6、Dart 中 number 类型分为 int 和 double ,没有 float 类型。
  • 7、Dart 中 级联操作符 可以方便配置逻辑,如下代码:
event
  ..id = 1
  ..type = ""
  ..actor = "";
  • 8、赋值操作符
    比较有意思的赋值操作符有:
AA ?? "999"  ///表示如果 AA 为空,返回999
AA ??= "999" ///表示如果 AA 为空,给 AA 设置成 999
AA ~/999 ///AA 对于 999 整除
  • 9、可选方法参数
    Dart 方法可以设置 参数默认值指定名称

比如: getDetail(Sting userName, reposName, {branch = “master”}){} 方法,这里 branch 不设置的话,默认是 “master” 。参数类型 可以指定或者不指定。调用效果: getRepositoryDetailDao(“aaa", “bbbb”, branch: “dev”); 。

  • 10、作用域
    Dart 没有关键词 public 、private 等修饰符,_ 下横向直接代表 private ,但是有 @protected 注解 。

  • 11、构造方法
    Dart 中的多构造方法,可以通过命名方法实现。

默认构造方法只能有一个,而通过 Model.empty() 方法可以创建一个空参数的类,其实方法名称随你喜欢,而变量初始化值时,只需要通过 this.name 在构造

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值