Dart语法简单了解
变量声明
- 指定类型声明变量方式
String name = "lilei";
指定类型声明方式,就是在变量之前指定变量的类型,比如String
- 推导变量类型声明方式var、 final、 const
var sex = "男";//声明变量
final sex = "男";//声明常量
const sex = "男";//声明常量
- final和const区别
- final是运行时确定常量的值
- const是编译时就确定常量的值
数据类型
- 数字类型
- Flutter只有整形Int和浮点double
- 数字和字符串之间的转化
//数字转字符串
String ages = age.toString();
//字符串转数字
int sexs = int.parse("20");
- bool类型
- Dart里面有一个bool类型,具体为
true和false - Dart里面没有非空即真,或者非零即真
//错误写法
var name = "lilei"
if (name) {
print("hhhhh");
}
int age = 20;
if (age) {
print("hhhhh");
}
- 字符串类型
- 字符串声明方式
//单引号
var name = 'lilei';
//双引号
var name = "lilei";
//三引号 可换行
var name = '''
lilei
hanmeimei
tuoni
''';
- 字符串拼接
//获取变量类型
name.runTimeType;
var name = 'lilei';
int age = 20;
double height = 188.8;
var message = 'name is$@{name},age is ${age},height is ${height}';
var message2 = 'name is ${name},name type is ${name.runTimeType}';
///如果拼接字符串,{}里只是单纯的变量,{}可以省略,但是如果有函数就不行
var message3 = 'name is $name,name type is ${name.runTimeType}';
- 集合类型
- 列表List,也就是iOS中的数组
- 集合set
- 映射map,也就是iOS中的字典
声明式编程
和iOS传统的命令式编程不一样,Flutter的界面都是通过描述来创建的,也就是声明式编程,如果学习过SwiftUI的同学可能更好的理解,因为苹果新出的SwiftUI也是声明式编程
UIView 相当于 Flutter 中的什么
- 在 iOS 中,创建 UI 用的都是 UIView的实例,在 Flutter 中,是widget
- widget有两种:Stateful widget 和 Stateless widget ,分别是有状态widget和无状态widget。
视图更新
-
在项目中经常遇到需要更改视图状态的需求,iOS传统命令式编程的方式是获取需要更新的视图,然后根据数据修改相应视图的展示形式
-
在Flutter中UI的展示形式是widget,