Dart In Action -Dart快速入门(二)

简介: 写在前面本文基本上是将dart官网部分内容进行翻译,没兴趣的请出门左转至Dart的官网,有兴趣的同志请继续阅读本文。Flutter教程在这里Dart的一些重要概念当你学习Dart语言时,记住这些事实和概念:每个变量都是一个对象,而每个对象都是类的实例。

写在前面

本文基本上是将dart官网部分内容进行翻译,没兴趣的请出门左转至Dart的官网,有兴趣的同志请继续阅读本文。
Flutter教程在这里

Dart的一些重要概念

当你学习Dart语言时,记住这些事实和概念:

  • 每个变量都是一个对象,而每个对象都是类的实例。甚至数字、函数和null都是对象。所有对象都继承自Object
  • 尽管Dart是强类型的,但是类型注释是可选的,因为Dart可以推断类型。在之前上一节的代码中var number = 42;,number被推断为int类型。当你不想显示地声明一个变量的类型,那么您可以使用特殊类型dynamic
  • Dart是支持泛型,如List<int>(一个数字列表)或者List<dynamic>(一个任何类型的列表).
  • Dart支持顶级函数(如main()),以及绑定到类或对象(分别是静态方法和实例方法)的函数。您还可以在函数(嵌套或局部函数)中创建函数。
  • 类似地,Dart支持顶级变量,以及绑定到类或对象(静态和实例变量)的变量。实例变量有时被称为字段或属性。
  • 与Java不同的是,Dart没有关键字public、protected和private。如果标识符以下划线(_)开头,则该标识符对其库是私有的。 在之后的教程中我们会详细讲解。
  • 标识符(变量名、方法名、类名)可以以字母或下划线(_)开头,后面的可以是这些字符加上数字的任何组合。
  • Dart工具可以报告两种问题:警告和错误。警告只是表明您的代码可能不工作,但它们不会阻止您的程序执行。错误可以是编译时错误,也可以是运行时错误。编译时错误阻止了代码的执行;运行时错误导致代码执行时引发异常。

关键字

abstract do import super
as dynamic in switch
as else interface sync*
async enum is this
async* export library throw
await external mixin true
break extends new try
case factory null typedef
class final part void
const finally rethrow while
continue for return with
covariant get set yield
default if static yield*
deferred implements

以上的字段均为保留字段,不能用于标识符。

变量

下面的代码展示了创建一个变量并进行初始化:

var name = 'Bob';

变量存储引用。名为name的变量包含对字符串对象的引用,值为“Bob”。
变量name的类型被推断为String,但是您可以通过指定它来更改该类型。如果对象不限于单个类型,则指定对象或动态类型,遵循设计指导原则

dynamic name = 'Bob';

另一种方式是显式声明要推断的类型:

String name = 'Bob';

默认值

未初始化的变量的初始值为null。甚至具有数字类型的变量最初也是null,因为数字就像dart中的其他东西一样也是对象。

int lineCount;
assert(lineCount == null);

注意:在生产代码中,assert()调用将被忽略。在开发期间,assert(condition)抛出异常,除非条件为真。

目录
相关文章
|
4月前
|
Dart 编译器 API
Dart笔记:Dart 库
Dart笔记:Dart 库
116 0
|
10月前
|
存储 Dart JavaScript
《深入浅出Dart》Dart库的使用和创建
Dart库的使用和创建 引言 在Dart中,代码重用和模块化可以通过库(libraries)和包(packages)实现。一个库就是一组代码,被一起打包为了实现一种或多种特定功能。一个包则是一种发布和分享Dart库的方式。在这一章,我们将详细介绍如何使用和创建Dart库和包,以及如何实现一个具有大数相加功能的库。 Dart库的使用
86 0
|
10月前
|
Dart API 数据处理
《深入浅出Dart》Dart的Stream
Dart的Stream Stream 是 Dart 中处理连续的异步事件的工具。例如,你可以使用 Stream 来读取文件的内容,或者监听用户的鼠标点击。 一个简单的 Stream 示例:
123 0
|
10月前
|
Dart 测试技术 JavaScript
《深入浅出Dart》Dart测试
单元测试和集成测试 Dart的生态系统提供了一个完善的测试框架来进行代码的单元测试和集成测试。以下是一些基本的测试知识。 Dart单元测试 单元测试是在软件开发中进行的最小单元的测试。在Dart中,我们可以使用内置的test包来进行单元测试。 安装测试包 首先,我们需要在pubspec.yaml中添加test的依赖:
105 0
|
10月前
|
XML JSON Dart
《深入浅出Dart》Dart的Isolate
Dart的Isolate Isolate 是 Dart 中进行并发编程的一种方式。由于 Dart 是单线程模型,因此在需要处理 CPU 密集型任务或需要执行长时间运行的操作时,可以使用 Isolate。以下列出了一些常见的 Isolate 应用场景: 创建 Isolate 在 Dart 中,所有的代码都运行在一个单线程中,这个线程被称为主 Isolate。如果你需要执行耗时的计算,你可以创建一个新的 Isolate,然后在这个新的 Isolate 中执行你的计算。
87 0
|
11月前
|
Dart IDE Unix
Flutter:创建和发布一个 Dart Package
在 Dart 生态系统中使用 packages(包) 实现代码的共享,比如一些 library 和工具。本文旨在介绍如何创建和发布一个 package。
361 0
Flutter:创建和发布一个 Dart Package
|
12月前
|
Dart 编译器 索引
Flutter 基础 | Dart 语法
Flutter 基础 | Dart 语法
131 0
|
存储 Dart 前端开发
Flutter(三)——一篇文章掌握Dart语言的用法(三)
Flutter(三)——一篇文章掌握Dart语言的用法(三)
233 0
Flutter(三)——一篇文章掌握Dart语言的用法(三)
|
存储 Dart JavaScript
Flutter(三)——一篇文章掌握Dart语言的用法(一)
Flutter(三)——一篇文章掌握Dart语言的用法(一)
332 0
Flutter(三)——一篇文章掌握Dart语言的用法(一)
|
Dart JavaScript 前端开发
Flutter(三)——一篇文章掌握Dart语言的用法(二)
Flutter(三)——一篇文章掌握Dart语言的用法(二)
245 0