Dart & Flutter笔记

2019-01-17 54

Dart

官方教程https://www.dartlang.org/guides/language/language-tour

官方在线编译器https://dartpad.dartlang.org/

语言方面

感觉就是提供动态类型的静态类型、既能AOT也能JIT的javascript...

  • 所有类型均继承于Object,包括int这种基本类型
  • 所有类型默认初始值为null
  • var自动推导类型,dynamic才是动态类型
  • constfinal的区别就是一个编译前一个运行中
  • 整除是~/
  • is!is not,有意思
  • as这个关键字就更niub了,就是一个强制类型转换

等价于

emp不是Person,就会抛出错误

  • expr1 ?? expr2??操作符niub,等价于expr1 != null ? expr1 : expr2
  • ..操作符,更niub了,你见过这样的写法吗?

等价于

酷炫

  • ?.操作符,若foo == nullfoo.bar会抛出错误,但foo?.bar则返回null
  • 字符串format的例子

  • 支持这样的switch写法

  • Dart 2之后,new关键字是可选项,可写可不写
  • 一些类的有趣用法

  • 重载一般的运算符就和c++差不多,但要注意重载==的时候不太一样,详细请看官网文档

Flutter

官方文档https://flutter.io/

docker image

可以用cirrusci/flutter。但要注意的是,这玩意locale没有支持utf8。。。。所以要是你的gitlab的用户名有非ascii的字符,就会爆炸。。。

Flutter package get被墙

Using Flutter in China

Gradle被墙

参见这篇文章

一些库

大全在这

一些文章

欢迎留言>_<

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据