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

简介: 写在前面本文基本上是将dart官网部分内容进行翻译,没兴趣的请出门左转至Dart的官网,有兴趣的同志请继续阅读本文。Flutter教程在这里Final 和 const如果您从不打算更改变量,请使用final或const,而不是var或类型。

写在前面

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

Final 和 const

如果您从不打算更改变量,请使用finalconst,而不是var或类型。 final变量只能被初始化一次; const变量是编译时常量。 (const变量是隐式的final。)final的顶级变量或者类的成员变量将在第一次使用时初始化。

注意:实例变量可以是final的,但不能是const
下面是一个创建并设置final变量的例子:

final name = 'Bob'; // 没有声明类型
final String nickname = 'Bobby'

您不可以修改一个final变量的值(final是不可变的。):

name = 'Alice'; // 错误: final变量只能被始化一次。

如果您让变量变成编译时常量,请使用const。 如果const变量是class级别的,则将其标记为static const。 在声明变量的地方,将值赋给编译时常量,例如数字或字符串文字,const变量或常数上的算术运算结果:

const bar = 1000000; // 压力单位 (dynes/cm2)
const double atm = 1.01325 * bar; // 标准大气压

const关键字不仅可以声明const变量。您还可以使用它来创建常量值,以及声明创建常量值的构造函数。 任何变量都可以具有常量值。

var foo = const [];
final bar = const [];
const baz = []; // 等同于 to `const []`

您可以从const声明的初始化表达式中省略const,就像上面的baz一样。 有关详细信息,请参阅不要冗余地使用const
您可以改变一个非 final或 非const变量的值,即使它曾经有一个常量值。

foo = [1, 2, 3]; // 曾经是 const []

你不能改变一个const变量的值:

baz = [42]; // 错误: const变量不能赋值。

内置类型

Dart特别支持以下类型:

  • 数字类型
  • 字符串
  • 布尔值
  • 表(lists,也被称作数组)
  • 映射(maps)
  • 符文(用于表示字符串中的Unicode字符)
  • 符号

您可以使用文字初始化任何这些特殊类型的对象。 例如,'this is a string'是一个字符串值,true是一个布尔文 值。

因为Dart中的每个变量都引用一个对象 - 一个类的实例 - 您通常可以使用构造函数来初始化变量。 一些内置类型有自己的构造函数。 例如,您可以使用Map()构造函数来创建Map。

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