带你读《深入浅出Dart》二、变量与数据类型

简介: 带你读《深入浅出Dart》二、变量与数据类型

二、变量与数据类型

在探索Dart语言的世界之前,我们首先需要熟悉一些基础的语法,包括如何声明和使用变量,以及理解Dart中的基础数据类型。


1.变量与声明方式


变量是我们在编程中存储和操控数据的基本单位。在Dart中,我们有多种方式来声明和使用变量。

 

使用 var 来声明一个变量,Dart会自动推断出变量类型。

 

var name = 'Dart'; // Dart 自动推断出 `name` 是 String 类型

 

我们也可以在声明变量时明确指定其类型,这样可以使得代码更易于理解,并且在编译时能够检查到类型错误。

 

String greeting = 'Hello Dart';

 

Dart2.12版本引入了空安全特性,如果变量可能含有空值,我们需要在类型后面加一个问号?

 

String? nullableString = null;

 

如果一个变量在初始化后值不再改变,我们可以使用 final const 声明它,这样可以使我们的程序更加安全。

final pi = 3.14159; const gravity = 9.8;

 

注意,final const 的区别在于,final 的值只能被设定一次,而 const 则是一个编译时常量。


2.数据类型


Dart是一个强类型语言,包含了许多常见的数据类型:

Numbers:包括 int double 两种类型。

 

int age = 18;
double score = 93.5;

 

Strings:表示文本的数据类型。可以通过单引号或者双引号来创建字符串。

 

String hello = 'Hello';

 

Booleans:包括 true false 两种布尔值。

 

bool isTrue = true;
bool isFalse = false;

 

Lists:一个有序的项目集合,也被称为数组。

 

List numbers = [1, 2, 3];

 

Maps:无序的键值对集合。

 

Map countries = {
  'CN': 'China',
  'US': 'United States',
  'JP': 'Japan'};

 

理解变量声明和数据类型是掌握Dart语言的重要基础。掌握这些知识后,我们就可以开始编写更加复杂的Dart程序了。

相关文章
|
JavaScript 前端开发 测试技术
uniapp使用路由名称跳转
【9月更文挑战第11天】在UniApp中,可通过定义路由名称实现页面跳转,需在`pages.json`中设置页面的`name`属性。使用`uni.navigateTo`等API并指定名称即可跳转,例如`name: 'detailPage'`。目标页面可在`onLoad`函数中获取传递的参数,这种方式使代码更清晰且便于维护,尤其适合大型项目。
595 1
|
存储 设计模式 Dart
Flutter笔记:GetX模块中不使用 Get.put 怎么办
依赖注入(Dependency Injection,对于很多真的就是简单的局部共享状态的场景,自己实现单例我个人感觉反而更好。首先,你不需要集中于创建代码初期就从各个模块中导入你的各个控制器,也不需要预先在应用初始化时就创建它们的实例,从而将实例添加到GetX依赖中进行管理。这使得mian文件中的代码更加简洁。如果某个局部状态控制器被移除,你也不需要回到mian文件中来对代码进行改动,只需要删除不用的部分。其次,在Dart语言中,为面向对象的单例实现提供了很方便的支持,仅仅三个小步骤就可以实现严格管理单例。
379 1
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习中的迁移学习技术
【10月更文挑战第11天】 本文探讨了深度学习中的迁移学习技术,并深入分析了其原理、应用场景及实现方法。通过实例解析,展示了迁移学习如何有效提升模型性能和开发效率。同时,文章也讨论了迁移学习面临的挑战及其未来发展方向。
|
Dart JavaScript Shell
在 Flutter 中发出 HTTP 请求的最佳库(2022 年
本文将向您介绍最好的开源软件包列表,这些软件包可以帮助我们在 Flutter 应用程序中发出 HTTP 请求。事不宜迟,让我们探索重要的事情。 Http Pub likes: 3910+ GitHub stars: 735+ License: BSD-3-Clause Written in: Dart Links: Pub page | GitHub repo | Official docs
1936 0
|
Ubuntu 安全 Linux
linux系统详细安装过程,都在这里了
linux系统详细安装过程,都在这里了
404 0
|
Dart
通义灵码请问啥时候支持flutter或dart
通义灵码请问啥时候支持flutter或dart
797 1
|
前端开发
如何处理Uniapp中的异步请求?
如何处理Uniapp中的异步请求?
892 0
|
Dart Linux 开发工具
带你读《深入浅出Dart》一、搭建环境(附序)
带你读《深入浅出Dart》一、搭建环境(附序)
346 0
|
并行计算 算法 PyTorch
【DSW Gallery】 基于EasyCV的Mask2Former图像分割示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文将介绍使用EasyCV进行图像分割模型的训练和预测。
【DSW Gallery】 基于EasyCV的Mask2Former图像分割示例