[Flutter跨平台]二、Dart基础1-基础语法

24 阅读2分钟

一些补充说明:

初始化:被赋值

定义: 不仅声明一个变量、函数或类,还分配具体的值或实现;

声明: 不一定赋予初始值;

实例化:把类创建出实际的对象;

1. dart基础语法

1.1. 变量和常量(存储数据)

1.1.1. 变量(存储并可修改数据)

1.1.2. 常量(存储不变的数据)

  • const
  • final

1.2. 数据类型-数字(可存储数据类型)

1.2.1. num

关键字:num、int、double

注意:num包括int、double

  • num:存整数、小数都行
  • int:只能存整数
  • double:存整数、小数都行

1.2.2. String

1.2.3. bool

隐式转换: 也称为自动类型转换

  • 隐式转换:编译器或解释器自动进行的数据类型转换,无需程序员手动转换
  • 显式转换:需要程序员明确指示进行的数据类型转换,通常通过类型转换函数或操作符实现

示例

void main() {
  int a = 10;
  double b = a; // 隐式转换:int 转 double
  print(b); // 输出: 10.0
}
console.log(true + 0);  // 输出: 1
console.log(false + 0); // 输出: 0
void main() {
  double a = 10.5;
  int b = a.toInt(); // 显式转换:double 转 int
  print(b); // 输出: 10
}

1.2.4. List(列表)-重要

和鸿蒙的数组比较类似

有序 存储多个值,就要用List;

1.2.5. Map(字典)

和鸿蒙中的对象类似

可以写键值对;

特点都可以是任意类型

1.2.6. Dart空安全机制

应用场景:当我们声明变量时,不赋值就会报错;但我们需要一开始本来就不知道什么值,我们需要发网络请求去拿了后,才赋值;所以就要用到空安全机制;

解决办法:就可以写一个? 这就是空安全机制

// 1. 无法正常执行的代码
  // String a;
  // print(a);

  // 2.解决办法:可为空的写法
  // String? a;
  // print(a);

  // 3.真实开发中可以这样写,声明时可以写上 =null
  // 解释:就是当它没值时为null,有值时就给具体值
  // String intro = null;//很多这样写时报错,就说明它是可能为空的,就要加上?  让他在打印时能输出null
  String? intro = null;//很多时候某个值报错
  intro = '1222312';
  print(intro);

arkTS中的 可选链:是编程中的一个概念,用于安全地访问对象的嵌套属性或方法,而无需显式地检查每一级是否存在。这有助于避免因访问 nullundefined 值而导致的运行时错误。