美文网首页
磨刀- 初识 Dart

磨刀- 初识 Dart

作者: 态度哥 | 来源:发表于2020-02-23 08:22 被阅读0次

✨✨✨✨✨ 魏什么_多喝水 Flutter 之路

人生若只如初见,何事秋风悲画扇

重要的点

在学习 Dart 语言时, 应该基于以下事实和概念:

  • 任何保存在变量中的都是一个 对象 , 并且所有的对象都是对应一个 类 的实例。 无论是数字,函数和 null 都是对象。所有对象继承自 Object 类。

  • 尽管 Dart 是强类型的,但是 Dart 可以推断类型,所以类型注释是可选的。 在上面的代码中, number 被推断为 int 类型。 如果要明确说明不需要任何类型, 需要使用特殊类型 dynamic 。

  • Dart 支持泛型,如 List <int> (整数列表)或 List <dynamic> (任何类型的对象列表)。

  • Dart 支持顶级函数(例如 main() ), 同样函数绑定在类或对象上(分别是 静态函数 和 实例函数 )。 以及支持函数内创建函数 ( 嵌套 或 局部函数 ) 。

  • 类似地, Dart 支持顶级 变量 , 同样变量绑定在类或对象上(静态变量和实例变量)。 实例变量有时称为字段或属性。

  • 与 Java 不同,Dart 没有关键字 “public” , “protected” 和 “private” 。 如果标识符以下划线(_)开头,则它相对于库是私有的。 有关更多信息,参考 库和可见性。

  • 标识符 以字母或下划线(_)开头,后跟任意字母和数字组合。

  • Dart 语法中包含 表达式( expressions )(有运行时值)和 语句( statements )(没有运行时值)。 例如,条件表达式 condition ? expr1 : expr2 的值可能是 expr1 或 expr2 。 将其与 if-else 语句 相比较,if-else 语句没有值。 一条语句通常包含一个或多个表达式,相反表达式不能直接包含语句。

  • Dart 工具提示两种类型问题:警告错误。 警告只是表明代码可能无法正常工作,但不会阻止程序的执行。 错误可能是编译时错误或者运行时错误。 编译时错误会阻止代码的执行; 运行时错误会导致代码在执行过程中引发 [异常](#exception)。

变量、常量

1. 变量

var name = 'body';

变量仅存储对象引用,这里的变量是 name 存储了一个 String 类型的对象引用。 “Bob” 是这个 String 类型对象的值。

name 变量的类型被推断为 String 。 但是也可以通过指定类型的方式,来改变变量类型。 如果对象不限定为单个类型,可以指定为 对象类型 或 动态类型

2. 常量(Final 和 Const)

使用过程中从来不会被修改的变量, 可以使用 finalconst, 而不是 var 或者其他类型, Final 变量的值只能被设置一次; Const 变量在编译时就已经固定 (Const 变量 是隐式 Final 的类型.) 最高级 final 变量或类变量在第一次使用时被初始化。

提示: 实例变量可以是 final 类型但不能是 const 类型。 必须在构造函数体执行之前初始化 final 实例变量 —— 在变量声明中,参数构造函数中或构造函数的初始化列表中进行初始化。

final name = 'Bob';  //第一次赋值后不能被修改

如果需要在编译时就固定变量的值,可以使用 const 类型变量。 如果
Const 变量是类级别的,需要标记为 static const。 在这些地方可以使用在编译时就已经固定不变的值,字面量的数字和字符串, 固定的变量,或者是用于计算的固定数字:

Number

Dart 语言的 Number 有两种类型:

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

  2. double
    64位(双精度)浮点数,依据 IEEE 754 标准。

String

Dart 字符串是一组 UTF-16 单元序列。 字符串通过单引号或者双引号创建。

var s = 'string interpolation';

assert('Dart has $s, which is very handy.' ==
    'Dart has string interpolation, ' +
        'which is very handy.');

提示: == 运算符用来测试两个对象是否相等。 在字符串中,如果两个字符串包含了相同的编码序列,那么这两个字符串相等。 units.

可以使用 + 运算符来把多个字符串连接为一个

使用连续三个单引号或者三个双引号实现多行字符串对象的创建:

var s1 = '''
You can create
multi-line strings like this one.
''';

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

Bool

强类型 只有 true 和 false

List

数组集合 Array

Set

Dart 中 Set 是一个元素唯一且无需的集合

Map

Map 是用来关联 keys 和 values 的对象

Rune

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

  var clapping = '\u{1f44f}';
  print(clapping);
  print(clapping.codeUnits);
  print(clapping.runes.toList());

  Runes input = new Runes(
      '\u2665  \u{1f605}  \u{1f60e}  \u{1f47b}  \u{1f596}  \u{1f44d}');
  print(new String.fromCharCodes(input));

自己做的一些笔记,内容出自网路,感谢无私奉献的大神们! 膜拜 ~

相关文章

  • Flutter 之路

    Dart 磨刀 - Flutter Mac 下环境搭建磨刀- 初识 Dart磨刀- Dart 关键字磨刀- Dar...

  • 磨刀- 初识 Dart

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路 人生若只如初见,何事秋风悲画扇 重要的点 在学习 Dart 语言...

  • 磨刀- Dart String

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路 常用方法 字符串转数组 字符串切割 字符串是否b包含,或以xxx...

  • 磨刀- Dart List

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路 声明 常用属性 常用方法 插入 合并 删除 修改替换 查询 遍历...

  • 磨刀- Dart 类

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路 声明: 创建实例 构造函数 默认构造函数默认构造函数,如果类没有...

  • 磨刀- Dart Map

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路 声明 属性 方法 遍历 清空 添加addall cast 泛型类...

  • 磨刀- Dart 函数

    ✨✨✨✨✨ 魏什么_多喝水 Flutter 之路 声明 参数 可选参数 可选命名参数: 可选位置参数

  • Dart初识

    前几天在抖音上刷到了一个知识点:【费曼学习法】是最高效的学习方法。其中提到了重要的一点:应将学到的东西通过自己的话...

  • flutter 使用的dart 语言学习

    任何开发都离不开开发语言,而flutter使用的是dart 语言。磨刀不误砍柴功,因此我们先简单的学习下dart语...

  • 初识 Dart 语言

    (原创) 很多人都玩过“找别扭”这款游戏,下面大家一起来看看 Dart 有何与众不同。在讨论Dart 之前,还是按...

网友评论

      本文标题:磨刀- 初识 Dart

      本文链接:https://www.haomeiwen.com/subject/wilxoctx.html