dart的基本类型与声明

dart 语言中,支持intdoublenumStringboolListSetMap几种数据类型,其主要说明如下。

类型说明使用方式
int整数,范围为 -2^63 到 2^63 – 1.int a = 1;
double浮点数,64 位(双精度)浮点数double b= 2.0;
num表示数字类型,既可以是整数,也可以是浮点数num c = 1;
num d = 1.2;
String字符串String e = 'leevare';
String f = "leevare";
bool布尔类型bool g = true;
ListList 对象,也可以被称作列表。支持泛型,List<E>E表示列表里的数据类型List<int> h = [1,2,3];
SetSet 对象Set<String> i = {'leevare', 'leevii'};
MapMap 对象,是键值对的形式。Map<K,V>Map<String, String> j = {'name': 'leevare'};
Runes表示采用 UTF-32 的字符串,用于显示 Unicode。 因为 Dart 字符串是 UTF-16,因此在 Dart 中表示 32 位的 Unicode 值需要 Runes 这个特殊语法。Runes k = new Runes('\u2665 \u{1f605} \u{1f60e} \u{1f47b} \u{1f596} \u{1f44d}');
print(new String.fromCharCodes(input));
将会输出:♥ 😅 😎 👻 🖖 👍 一些 emoji 字符

关于变量的声明,在 dart 中有四种声明方式。

1. var

使用var声明类型时,不用指定其明确的类型,dart 会自动推断其类型,所以使用var声明的变量可以赋值任意类型。

var name = 'leevare';
var age = 26;
var isGood = true;

2. 确定的类型

使用上面表格中所列出的类型来声明变量,它可以明确的确定变量的类型。

String name = 'leevare';
int age = 26;

3. dynamic

该声明表示变量的类型可变。如将String类型变为int类型,就要用这种方式来声明变量。

dynamic value = '12';
value = 12111;

4. Object

由于 dart 中任何对象都继承自Object,所以可以使用Object定义任何变量,当然也包括dynamic类型可变的变量。

Object val = 'hello world';
val = [1,2,3];

对于不可变数据,可以使用constfinal来修饰。

使用finalconst时,变量只能被赋值一次,同时,使用finalconst的时候,var可以被省略掉。

final String nickname = 'Bobby';
final name = 'leevare'; // 也是正确

class中使用const修饰的时候,必须要添加static

class App extends xxxxx {
    static const name = 'leevare';
    // ...codes
}

finalconst它们俩是有一些区别的,const 是编译时常量,在编译的时候就初始化了,但是 final 变量是当类创建的时候才初始化。

如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注