dart-primer

1. Dart介绍

Dart是由谷歌开发的计算机编程语言,它可以被用于Web、服务器、移动应用和物联网等领域的开发。

Dart诞生于2011年,号称要取代JavaScript。但是过去几年中一直不温不火。直到Flutter的出现,现在被人们重新重视。

2. VSCode安装dart、Code Runner插件

image-20240625234206990

image-20240625234334828

3. 运行第一个“Hello Dart”

1
2
3
void main() {
print("Hello Dart");
}

image-20240625234001687

4. Dart中的变量和常量

4.1变量

dart是一个强大的脚本类型语言,可以不预先定义变量类型,自动会类型推导

dart中定义的变量可以通过var关键字也通过类型来声明变量

4.2 常量(final和const修饰符)

const 值不变 一开始就得赋值。

final 可以开始不赋值 只能赋一次;final 不仅有const的编译时常量的特性,最重要的它是运行时常量,且final是惰性初始化,即在运行时第一次使用前才开始初始化。

4.3 获取当前时间

1
2
3
4
void main(){
final a = new DateTime.now();
print(a);
}

5. Dart中支持的数据类型

Number(数值): int double

String(字符串): String

Booleans(布尔): bool

List(数组): 在Dart中数组是列表对象,所以大多数人称它们为列表

Map(字典): Map是一个键值对 相关的对象。键和值可以是任何类型的对象。

5.1 字符串

5.1.1 多行字符串

使用三个单引号或者三个双引号

1
2
3
4
5
6
7
8
9
void main()
{
String str = '''
this is str
this is str
this is str
''';
print(str);
}

image-20240627001019232

5.1.2 字符串拼接

1
2
3
String str1 = '你好';
String str2 = 'Dart';
print(str1 + str2);
1
2
3
String str1 = '你好';
String str2 = 'Dart';
print("$str1 $str2");

5.2 List(数组/集合)

1
2
3
4
5
6
7
void main()
{
var l1 = ["张三", 20, true];
print(l1);
print(l1.length);
print(l1[0]);
}

输出为:

[Running] dart “d:\code\dart_-tutorial\01\03 List.dart”

[张三, 20, true]

3

张三

1
2
var l2 = <String>["张三", "李四"];
print(l2);

输出为:

[Running] dart “d:\code\dart_-tutorial\01\03 List.dart”

[张三, 李四]

[Done] exited with code=0 in 0.336 seconds

1
2
var l3 = List.filled(10, 1);
print(l3);

输出为:

[Running] dart “d:\code\dart_-tutorial\01\03 List.dart”

[张三, 李四]

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

[Done] exited with code=0 in 0.324 seconds

5.3 Map

1
2
3
4
5
6
7
8
9
10
void main()
{
var person = {
"name": "张三",
"age": 20
};
print(person);
print(person["name"]);
print(person["age"]);
}
1
2
3
var p = new Map();
p["name"] = "李四";
p["age"] = 22;

5.4 is 关键词判断类型

1
2
3
4
5
6
7
8
9
10
11
void main()
{
var str = '1234';
if(str is String) {
print('是String类型');
}else if(str is int) {
print('int');
}else {
print('其他类型');
}
}

5.5 类型转换

1
2
3
4
5
6
7
8
9
10
11
12
void main()
{
// Number与String类型之间的转换
// Number类型转换成String类型 toString()
// String类型转成Number类型 int.parse()
String str = '123';
var num = int.parse(str);
print(num is int);
num = 12;
str = num.toString();
print(str is String);
}