Flutter-Dart语言简介
Dart
语言设计借鉴了Java
和JavaScript
,同时存在了两者的特性。
Dart变量声明
1 |
|
表示名字是name的变量包含一个指向值为 bob 的字符串对象引用
。
当前name
的类型被推断为String
,当然也可以通过直接指定变量类型
,例如String name ='wxy';
内置类型
主要支持
数字、字符串、布尔、数组,集合
等数据类型。
数字类型
1 |
|
int
double
num
long
- …
字符串类型
1 |
|
布尔类型
1 |
|
列表类型
主要是
List
和Set
,其中List
允许重复元素,Set
不允许。
List
使用[]
表示
Set
使用{}
表示
1 |
|
集合类型
主要是
Map
,以键值对
形式存储元素。
1 |
|
整体的使用方式与Kotlin
类似,熟悉Kotlin的话可以很快上手Dart
的使用。
变量声明
var
可以接收任何类型的变量,但是一旦被赋值,类型就会确定且无法改变。
1 |
|
dynamic/Object
dynamic
表示动态类型,在编译期间不会进行任何的类型检查,而是在运行时进行检查
1 |
|
Object
是所有对象的基类,可以赋值任意对象。而且也支持在后期修改值。
1 |
|
dynamic和Object
主要区别在于:
dynamic
在声明的时候可以调用所有可能支持的方法,例如length
之类
Object
在声明的时候只能调用Object
的方法,其他方法都无法调用
1 |
|
使用dynamic
需要注意 可能引入的运行时错误。
final/const
主要做常量声明。被修饰的变量无法被修改。
const
用于表示编译时常量
final
在第一次使用时被初始化
。//需要到运行时才能确定值
1 |
|
Dart逻辑语句与操作符
逻辑语句
if else
switch
while
操作符
..
级联操作符对类的内部成员进行链式调用
1
2
3
4Event event = Event();
event
..id = 1
..type = ""
??
赋值操作符1
2
3a ?? "123" //a为空,返回123
a ??= "123" //a为空,值为123
a ~/ 2 //a整除2重载操作符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15class A {
int a, b;
A(this.a, this.b);
A operator +(A c) => A(a + c.a, b + c.b);
}
//使用示例
void main(){
var aa = A(1, 3);
var bb = A(2, 3);
print(aa + bb); //3,6
}支持重载的操作符如下:
| | | | |
| —- | —- | —- | —- |
| > | / | ^ | []= |
| <= | ~/ | & | ~ |
| >= | ** | << | == |
| - | % | >> | |
| < | + | | | [] |
Dart函数
函数也是对象
函数可以赋值给变量或作为参数传递给其他函数——函数式编程
。
函数声明
1 |
|
作为变量/参数
1 |
|
可选位置/命名参数
1 |
|
不能同时使用可选位置参数
和可选命名参数
。
Dart类、接口和继承
Dart线程操作
参考链接
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!