likes
comments
collection
share

简单易懂的Dart基础语法,看一遍就会了。

作者站长头像
站长
· 阅读数 5

var

Dart中使用var申明一个变量,可以赋值不同的类型,var声明的变量如果没有初始化那么它的值为nil,我们按住command鼠标移动到变量a上可以看到提示dynamic a

void main() {
    var a;
    print(a);
    a = 1;
    print(a);
    a = 'hello world';
    print(a);
}

简单易懂的Dart基础语法,看一遍就会了。

final

使用final声明的只能赋值一次的变量。也可以叫做最终变量。

void main() {
    final b = 21;
    b = 'hello';
}

如果我们再次赋值会报错,即使是同样类型的也不能。 简单易懂的Dart基础语法,看一遍就会了。 tips:被final修饰的变量在使用之前必须要被赋值。

void main() {
    final b ;
    print(b);
}

简单易懂的Dart基础语法,看一遍就会了。

const

const修饰的常量在声明的时候就必须要赋值,这个是跟变量不同。当然也不能被修改。

void main() {
    const c;
}

简单易懂的Dart基础语法,看一遍就会了。

number

数值型numer: int & double

void main() {
    num a = 10;
    print(a);
    a = 1.5;
    print(a);
}

简单易懂的Dart基础语法,看一遍就会了。 一个整形的数据(int)是没有办法直接被赋值给double类型的。此时把a换成double类型就可以,用double修饰的话实际上是10.0

void main() {
    int a = 10;
    print(a);
    a = 1.5;
    print(a);
}

简单易懂的Dart基础语法,看一遍就会了。

关于int有一些语法,command点击就能查到,isEven偶数,isOdd奇数

void main() {
    int a = 10;
    print(a);
    print( a.isEven);
}

简单易懂的Dart基础语法,看一遍就会了。 算数运算符:+ - * / (四则) %(取模) ~/(取整)

void main() {
    int a = 10;
    int b = 8;
    int c = a + b;
    print( a.isEven);
    print(a ~/ b);  /// 1
    print('a + b = ${a + b}'); /// 18
    print('a + b = $c'); /// 18
}

如果a是double类型,可以先转成int类型toInt()

void main() {
    double a = 10;
    int b = 8;
    print(a.toInt().isEven);
    print(a.toInt() ~/ b);
}

简单易懂的Dart基础语法,看一遍就会了。

String

使用单引号和双引号创建

void main() {
    var a = 'hello';
    var b = "world";
    print(a + b);
}

三个引号或者双引号可以创建多行字符串

void main() {
    String str1 = "hello"
    "world"
    "1hang"
    "2hang";
    print(str1);
    String str2 =
    '''
    1hang
    2hang
    3hang
    ''';
    print(str2);
}

使用双引号可以看到这里并没有换行,需要手动添加\n,而三个引号修饰的会自动换行 简单易懂的Dart基础语法,看一遍就会了。 在Dart语法中,字符串取值非常简单,可以直接采用下标。append可以直接使用+

void main() {
    String str1 = "hello";
    print(str1[0]);
    print(str1[1]);
    print(str1 + 'world');
    print(str1 * 2);
}

简单易懂的Dart基础语法,看一遍就会了。 Stirng中的转义字符

void main() {
     String str2 = 'h\nw';
    print(str2);
    String str3 = r'h\nw';
    print(str3);
    print(str2.length); /// 3
    print(str3.length); /// 4
}

/// 其他的用法:
/// endsWith  以...结尾
/// startsWith 以...开头

简单易懂的Dart基础语法,看一遍就会了。

list

Dart中的列表,类似于OC中的数组。有可变和不可变list, 同时可以存放不同的数据类型。

void main() {
    var list1 = [1,2,3,'hello'];
    var list2 = const [1,2,3];
    print(list1);
    list1[3] = 'world';
    print(list1);
    print(list1.length);
    list1.add('value');
    print(list1);
}

使用const修饰的是不可变的list,不能被重新赋值。 简单易懂的Dart基础语法,看一遍就会了。 同时数组的增删改查也比较简单

list1.insert(0, 0);
list1.removeAt(5);
list1.clear();
void main() {
    var list1 = [1,4,2,5,3,9,7,6];
    list1.sort();
    print(list1);
    print(list1.sublist(1,5)); /// 包含前面不包含后面
}

简单易懂的Dart基础语法,看一遍就会了。

map

Dart中的map键值对,类似于OC中的字典。也有可变和不可变两种map

void main() {
    var json1 = {'one': 1, 'two': 2};
    var json2 = const {'one': 1, 'two': 2}; /// 不可变的一般实际中用到的非常之少
    print(json1['one']); /// 取值
    json1['one'] = 0; /// 赋值
    print(json1);

    // 常用的操作
    print(json1.length);
    print(json1.keys);
    print(json1.values);

    var list = ['hello', 'world'];
    print(list.asMap()); /// 数组转map
}

简单易懂的Dart基础语法,看一遍就会了。