Flutter从零开始-Dart语法以及基础组件的使用

160 阅读2分钟

Dart语法简单了解

变量声明

  1. 指定类型声明变量方式
String name = "lilei";

指定类型声明方式,就是在变量之前指定变量的类型,比如String

  1. 推导变量类型声明方式var、 final、 const
var sex = "男";//声明变量
final sex = "男";//声明常量
const sex = "男";//声明常量
  1. final和const区别
  • final是运行时确定常量的值
  • const是编译时就确定常量的值

数据类型

  1. 数字类型
  • Flutter只有整形Int和浮点double
  • 数字和字符串之间的转化
  //数字转字符串
  String ages = age.toString();

  //字符串转数字
  int sexs = int.parse("20");
  1. bool类型
  • Dart里面有一个bool类型,具体为truefalse
  • Dart里面没有非空即真,或者非零即真
//错误写法
var name = "lilei"
if (name) {
    print("hhhhh");
} 
int age = 20;
if (age) {
    print("hhhhh");
}
  1. 字符串类型
  • 字符串声明方式
//单引号
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}';
  1. 集合类型
  • 列表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,