方法篇
- 不需要返回值的可以省略void,比如
void showToast(){
...
}
可以表示为:
showToast(){
...
}
- 方法体只有一行表达式的可以省略括号,比如
void showToast(){
print('x');
}
可以表示为:
showToast()=> print('x');
- 参数可以省略类型,比如
void showToast(String content){
print('x');
}
可以表示为:
showToast(content)=> print(content);
对象篇
- 新建对象参数可以省略new关键字,比如
TestModel test = new TestModel();
可以表示为:
TestModel test = TestModel();
变量类型篇
- 很多时候我们都不需要指定变量类型,比如
Container container = Container();
可以表示为:
var container = Container();
集合类型篇
- 很多时候我们都不需要为集合指定类型,比如
Map map = Map();
var url1 = 'http://xxx.mp4';
map['url'] = url1;
map['width']= 544;
map['height']= 960;
引号篇
- 既然单引号和双引号都支持,大部分场景干脆用单引号好了,比如
var url1 = 'http://xxx.mp4';
空值判断篇
- 利用问号操作符省去判空,比如
if (lastVideoController != null) {
lastVideoController.dispose();
}
改成
lastVideoController?.dispose();
模版篇
studio的flutter plugin已经自带了一些模版,可以直接用,比如
stful 用于生成StatefulWidget类及其State
import 'package:flutter/material.dart';
class $NAME$ extends StatefulWidget {
@override
_$NAME$State createState() => _$NAME$State();
}
class _$NAME$State extends State<$NAME$> {
@override
Widget build(BuildContext context) {
return Container($END$);
}
}
你也可以自己加模版,比如:
ges 用来生成GestureDetector
GestureDetector(child: $END$, onTap:(){}),
以上仅为抛砖引玉,欢迎大家留言贡献力量