Apm29's Studio.

Dart 语法

字数统计: 648阅读时长: 2 min
2019/12/11 Share

Dart 学习

数据类型

Dart中所有东西都是对象,包括数字、函数等
它们都继承自Object,并且默认值都是null(包括数字)因此数字、字符串都可以调用各种方法

  • Numbers
  • Strings
  • Booleans
  • List(也就是数组)
  • Maps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
void main()
{
//Dart 语言本质上是动态类型语言,类型是可选的
//可以使用 var 声明变量,也可以使用类型来声明变量
//一个变量也可以被赋予不同类型的对象
//但大多数情况,我们不会去改变一个变量的类型

//字符串赋值的时候,可以使用单引号,也可以使用双引号
var str1 = "Ok?";

//如果使用的是双引号,可以内嵌单引号
//当然,如果使用的是单引号,可以内嵌双引号,否则需要“\”转义
//String str2 = ‘It\’s ok!’;
String str2 = "It's ok!";

//使用三个单引号或者双引号可以多行字符串赋值
var str3 = """Dart Lang
Hello,World!""";

//在Dart中,相邻的字符串在编译的时候会自动连接
//这里发现一个问题,如果多个字符串相邻,中间的字符串不能为空,否则报错
//但是如果单引号和双引号相邻,即使是空值也不会报错,但相信没有人这么做
//var name = 'Wang''''Jianfei'; 报错
var name = 'Wang'' ''Jianfei';

//assert 是语言内置的断言函数,仅在检查模式下有效
//如果断言失败则程序立刻终止
assert(name == "Wang Jianfei");

//Dart中字符串不支持“+”操作符,如str1 + str2
//如果要链接字符串,除了上面诉说,相邻字符串自动连接外
//还可以使用“$”插入变量的值
print("Name:$name");

//声明原始字符串,直接在字符串前加字符“r”
//可以避免“\”的转义作用,在正则表达式里特别有用
print(r"换行符:\n");

//Dart中数值是num,它有两个子类型:int 和 double
//int是任意长度的整数,double是双精度浮点数
var hex = 0xDEADBEEF;

//翻了半天的文档,才找打一个重要的函数:转换进制,英文太不过关了
//上面提到的字符串插值,还可以插入表达式:${}
print("整型转换为16进制:$hex —> 0x${hex.toRadixString(16).toUpperCase()}");

}

dart中函数也是对象 Function

1
2
3
Function add(){
return (num a,num b)=>a+b;//返回了一个函数对象
}

异步编程 dart:async

  • Future
  • Stream
CATALOG
  1. 1. Dart 学习
    1. 1.1. 数据类型
    2. 1.2. 异步编程 dart:async