Dart学习笔记(二)
Dart学习笔记(二)
¶1. 运算符
在Dart
中的运算符使用与现代的大多编程语言大都类似
¶1.1. 关系运算符
关系运算符的用法与其他编程语言中的基本没有多少区别,主要注意一下相等
1 | // 比较运算符 |
这里相等的当然是内容,如果需要判断两者为同一对象,使用identical()
¶1.2. 算术运算符
以上为一些常用运算符,可能特殊一点是
~/(取整) %(取余)
1 | var num5 = 4; |
这样的结果只会取到整数部分的1
1 | var num5 = 4; |
换成%
取得就是余数1
并且需要注意,这里的/
操作,返回的是double
,与传统的c-like语言有点不同
++
,--
前后皆可,没什么特别
¶1.3. 类型判断
主要用于在代码运行时对于字段的类型进行检查
is
用于判断变量是否属于某个类型
1 | var a = 12; |
is!
这个符号很奇葩,!
一定注意是在后面😂
意思与is
相反
1 | var a = 12; |
as
代表一种强转,他需要目标类型从属于原类型
1 | Object a = 123; |
一切都是Object
,那么自然可以取出int
,当然,既然是强转,不匹配是会抛异常的
¶1.4. 赋值运算符
其他都很到理解,与其他语言没什么两样,比较特殊的应该就是为空赋值
??=
表示为空赋值
1 | var b = null; |
这种使用场景可能在接口返回时使用,主要作为缺省值,后端返回为null,显示缺省,否则就显示对应字段
¶1.5. 条件表达式
三元运算符和其他语言的差不多,但是需要注意??
1 | var a = null; |
与??=
相似,那个是处理左值可能为空的情况,这个是右值,主要还是用于保证非空类型不会为空
¶1.6. 基础的类型转换
经常会用到的可能就是String
和Number
之间的转化了
1 | // toString() |
数值类型转化为String
直接可以调用toString
方法,相当于给原来的数值外面加上括号
1 | // parse() |
而String
转为数值类型,可以通过对应数值类型的parse()
方法,但是,由于不是所有String
都能是Number
,所以可能会发生异常,实际应用中需要加上try...catch
,防止程序崩溃
其他语句表达式与其他语言相似,想深入了解,文档依然是最好的选择
Dart文档(https://www.dartcn.com/guides/language/language-tour)