Dart 语法总结4 :内置的基本数据类型

目录

1. 默认值

2. num       数值类型

        1. int  整型

        2. double 浮点型

3. String     字符串类型

4. bool  布尔值类型

5. List         数组类型

6. Map       键-值对集合类型

7. Set         元素唯一的集合类型

8. Rune    UTF-32 编码字符

9. Symbol  符号类型


类似JavaScript,Dart也是一种面向对象语言,但是它采用基于类编程。它只允许单一继承,语法风格接近C语言。

void main() {
  print("hello world");
}

1. 默认值

Dart语言中对于为初始化的值统一默认为null,不管是字符串还是数值类型。

2. num       数值类型

int 和 double 都是num 的子类型。 num 类型包括基本运算 +, -, /, 和 *, 以及 abs() ceil(), 和 floor(), 等函数方法。可以到 dart:math 库里面查文档

        1. int  整型

整数值不大于64位, 具体取决于平台。 在 Dart VM 上, 值的范围从-2^{63} 到 2^{63} - 1. Dart 被编译为 JavaScript 时,使用 JavaScript numbers 值的范围从 -2^{53} 到 2^{53}- 1

        2. double 浮点型

双精度浮点数,依据 IEEE 754 标准

3. String     字符串类型

        1.单引号或者双引号创建

var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";

        2.${expression}

        表达式是一个变量,则 {} 可以省略。 在 Dart 中通过调用就对象的 toString() 方法来得到          对象相应的字符串。如果自定义的bean没有重写toString()方法,会打印 Instance of xxx

var s = 'string interpolation';
print(${s.toUpperCase()});

        3. + 运算符

           把多个字符串连接为一个,也可以把多个字面量字符串写在一起来实现字符串连接

var s2 = 'The + operator ' + 'works, as well.';
var s3 = s2 + '123';

        4. 三个单引号或双引号

        实现多行字符串对象的创建

var s2 = """This is also a
            multi-line string.""";

   5.r 前缀

       创建 “原始 raw” 字符串:这字符串里面有\换行符号和 '号。       

var s = r"In a raw string, even \n isn't special.";

4. bool  布尔值类型

true and false 和

5. List         数组类型

dart版本有更新,需要看下文档里面最新推荐写法。

var list = const [1, 2, 3]; //添加 const 关键字,可以定义 List 类型的编译时常量

Dart 推断 list 的类型为 List<int>

List<int> List<String> List<Object>

常用方法: length, add, remove, indexOf, clear, insert, remoteAt

6. Map       键-值对集合类型

存放key,value的集合{"name":"张三"}

Map 是用来关联 keys 和 values 的对象。 keys 和 values 可以是任何类型的对象。

在一个 Map 对象中一个 key 只能出现一次。 但是 value 可以出现多次

var gifts = {
  // Key:    Value
  'first': 'partridge',
  'second': 'turtledoves',
  'fifth': 'golden rings'
};

var nobleGases = {
  2: 'helium',
  10: 'neon',
  18: 'argon',
};

var gifts = Map();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';

var nobleGases = Map();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';

7. Set         元素唯一的集合类型

存放不重复元素的集合,类似与不重复的list。 Dart2.2 中才引入了 Set 字面量

var halogens = {'fluorine', 'chlorine', 'bromine', 'iodine', 'astatine'};

var names = <String>{};

var names1 = {};

        {} 是 Set 还是 Map ? Map 字面量语法同 Set 字面量语法非常相似。 因为先有的 Map 字母量语法,所以 {} 默认是 Map 类型。   如果忘记在 {} 上注释类型或赋值到一个未声明类型的变量上,   那么 Dart 会创建一个类型为 Map<dynamic, dynamic> 的对象

8. Rune    UTF-32 编码字符

在 Dart 中, Rune 用来表示字符串中的 UTF-32 编码字符。

Unicode 定义了一个全球的书写系统编码, 系统中使用的所有字母,数字和符号都对应唯一的数值编码。 由于 Dart 字符串是一系列 UTF-16 编码单元, 因此要在字符串中表示32位 Unicode 值需要特殊语法支持。

表示 Unicode 编码的常用方法是, \uXXXX, 这里 XXXX 是一个4位的16进制数。 例如,心形符号 (♥) 是 \u2665。 对于特殊的非 4 个数值的情况, 把编码值放到大括号中即可。 例如,emoji 的笑脸 (�) 是 \u{1f600}

String 类有一些属性可以获得 rune 数据。 属性 codeUnitAt 和 codeUnit 返回16位编码数据。 属性 runes 获取字符串中的 Rune 

9. Symbol  符号类型

官方文档: 不知讲的什么。 一个 Symbol 对象表示 Dart 程序中声明的运算符或者标识符。 你也许永远都不需要使用 Symbol ,但要按名称引用标识符的 API 时, Symbol 就非常有用了。 因为代码压缩后会改变标识符的名称,但不会改变标识符的符号。 通过字面量 Symbol ,也就是标识符前面添加一个 # 号,来获取标识符的 Symbol 。

#radix
#bar

Symbol 字面量是编译时常量。

可以参篇文档  https://www.yiibai.com/dart/dart_programming_symbol.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专注和坚持是最好的导师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值