简介
既然 Dart 是一门语言,那么就和我们所知道语言一样,有基本的数据类型以及常见的流程处理语法,那么我们就来了解下。
Dart 的所有东西都是对象,包括数字,函数等。它们都继承自 Object ,默认是都是 null(包括数字),所以数字,字符串都可以调用各种方法。
常亮与变量
变量
使用 var 声明变量,可赋予不同类型的值;未初始化时,默认值为 null ;使用 final 声明一个只能赋值一次的变量
1 | void main(){ |
常量
在 dart 中使用 const 声明常量;使用 const 声明的必须是编译期常量。
1 | void main(){ |
在上面我们可以看到 dart 的一些简单的语法。其实和 js 蛮像,声明的变量的数据类型是随便去改变的,没有一个固定的数据类型(例如:java 这种语言)。其次就是 final 和 const 都可以声明变量,并且声明了变量之后都不能修改。
这里简单的说下 final 与 const 的区别:
final 要求变量只能初始化一次,并不要求赋的值一定是编译时常量,可以是常量也可以不是。而 const 要求在声明时初始化,并且赋值必需为编译时常量。
Dart中的内置类型
在Dart 有几种内置的数据类型:数值型-Number、布尔型-boolean、键值对-Map、字符串-String、列表-List、其他类型-Runes、Symbols
数值型
Dart 中只提供了两种类型:
num
1、整形int
2、浮点型double
1 | void main(){ |
从上面可以看到如果是使用 num 声明的变量,可以随意的转换类型,但是如果是使用了int 或者 double 明确的声明,那么就不能转换了
数值型的操作
运算符: +、 - 、* 、/ 、 ~/ 、 %
常用属性: isNaN、isEven、isOdd
常用方法:abs()、round()、floorl()、ceil()、toInt()、toDouble()
1 | // 由于常用的方法在其他语言中都有,就不过去的赘述,下面列出一些特殊的 |
一些常见的转换
1 | // String -> int |
字符串
在 dart 中居然可以使用 单引号 和 双引号声明字符串。这两种方式都可以。
1 | void main(){ |
在 String 中单、双引号互相嵌套的情况
1 | void main(){ |
字符串拼接的方式
下面列出 dart 中拼接字符串的各种骚操作(黑魔法)。
1 | void main(){ |
从上面可以看到 dart 中可以使用空格来做为拼接。所以我们继续研究下。
1 | void main(){ |
${表达式}的使用
类似于JS中 ES6 上面的表达式的使用,感觉是相通的。
1 | void main(){ |
布尔值
assert 是语言内置的断言函数,仅在检查模式下有效
在开发过程中, 除非条件为真,否则会引发异常。(断言失败则程序立刻终止)。
1 | // 检查是否为空 |
List列表
实例化 List 的方法如下
1 | void main(){ |
dart 中数组常用的方法
1 | void main(){ |
map 集合
创建 Map 集合
1 | void main(){ |
Map 中常用的方法
1 | void main(){ |
dynamic 关键字
这个关键字就类似定义我们在 JS 中定义变量的情况。先看下面的代码
1 | void main(){ |