Flutter开发,Dart中烦人的语法!
学习新语言时,我们可以用现有熟悉的语言进行类比。比如我们很熟悉java,那么剩下的就是掌握java不同的dart语法,剩下的就要多写多读才能知道。
国际惯例,用Darts完成一句:“Hello, world!”
变量
该变量是引用,未初始化的变量值为零。
你可以给用Object、var和dynamic声明的变量赋予任何类型的值,但它们背后的原理却截然不同。
1。 Object: 与Java一样,Object是所有类的基类,Object声明的变量可以是任何类型。 (在 Dart 中,偶数、方法和 null 都是对象,例如 int。)
2。 var: 声明的变量在被赋值时决定其类型。 。
3。动态: 实际类型不是在编译时确定的,而是在运行时确定的。动态声明的变量与对象的行为方式相同未初始化的变量会自动获得默认值null(number 类型的变量即使未初始化也为 null)。
声明变量时,还可以选择添加特定类型:int a = 1;
对于局部变量,请遵循Dart编码风格建议,使用var代替定义类型。局部变量。
final和const
如果你不打算改变变量,你可以使用final和const。它们可以替代所有类型。它们只能在声明时初始化并且不能更改。
final和const的用法没有区别,但final是运行时常量,而const是编译器常量。该值可以在编译时确定。编译时常量可以使代码运行更高效。类
的变量可以是 final,但不能是 art。如果const变量在类中,则必须定义为 static const静态常量
内置类型
与Java的八种内置不同,Dart有基本数据类型,支持以下类型:
- 数字
- 字符串
- 布尔值
- 列表(也称为 矩阵 符文(用于表示字符串中的 Unicode 字符) ) 符号
数字 (数字值)
num 是数字类型的父类,有两个子类 和 double。
字符串
Dart 字符串为 UTF-16编码的字符序列。可以使用单引号或双引号来创建字符串,单引号和双引号可以嵌套,否则必须使用\进行转义。变量和表达式也可以在字符串中引用。
像Java ,可以使用 + 运算符来连接字符串,也可以连接多个字符串来实现相同的功能:
使用三个单引号或双引号可以创建多行
来给出r 前缀可以创建“原始”字符串
布尔值(布尔值)
ol类型ol。只有两个对象是布尔类型: true 和 false 。这与Java没有太大区别。
列表
几乎所有编程语言中最常见的集合可能是数组或有序的对象组。在 Dart 中,数组是一个 List 对象。遍历List也和Java一样。
Map(地图集合)
Map:与键值对相关的对象。键和值可以是任何类型的对象。每个键仅显示一次,而一个值可以显示多次。
Likelist,在映射字母前添加关键字const,定义编译时常量映射
Runes(用于表示字符串中的Unicode字符)为每个字母定义字符串中的Unicode字符世界上所有书写系统中使用的数字和符号。Dart 字符串是 UTF-16 编码单元字符的序列,因此在字符串中表达 32 位 Unicode 值需要新的语法。 Runes 是 UTF-32 字符集中的字符串对象。
表示 Unicode 代码点的常用方法是 \uXXXX,其中 XXXX 是 4 位十六进制值。要指定多于或少于 4 个十六进制数字,请将值括在大括号中。
符文和以下符号实际上永远不能在Flutter开发中使用。
符号
运算符标识符,可以认为是C中的宏。表示编译时的常量
运算符
一般的运算符没什么好说的。我们主要看一下Java没有的。
类型运算符
as、is 和
条件表达式
Dart 有两个特殊的运算符,可以用来替换 if-else陈述:
- 调节? expr1 : expr2if 如果条件为真,则执行expr1(并返回执行结果);否则,运行 expr2 并返回结果。
- utter1 ?? expr2如果expr1不为空,则返回该值;否则,运行 expr2 并返回结果。
级联运算符
级联运算符(..)可以连续调用多个函数并访问同一个对象上的成员变量。通过使用级联运算符,您可以避免创建临时变量,并且您编写的代码看起来更流畅:
安全运算符
Dart 提供了 ?. 运算符。如果左操作数为null,则返回null
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。