当前位置: 首页 > news >正文

【Flutter 开发实战】Dart 基础篇:常见的数据类型

在这里插入图片描述

Dart 支持许多数据类型,包括我们常见的 Numbers(数值类型)、Strings(字符串类型)、Booleans(布尔类型),也支持一些包括 Collections(集合类型)、Records(记录类型)、Generics(泛型)等复杂数据类型。这里我们就对常见的数据类型做一些讲解,对于其它的一些数据类型,后面会另作篇幅单独讲解。

在这里插入图片描述

Numbers(数值类型)

在Dart中,Numbers(数值类型)用于表示数值,分为整数和浮点数两种。整数可以是正数或负数,而浮点数则包括小数部分。Dart提供了两种主要的数值类型:int(整数)和double(浮点数)。例如:

int integerNumber = 42;
double floatingPointNumber = 3.14;

Dart还支持基本的数值运算,如加法、减法、乘法和除法等。此外,Dart还提供了一些数学库函数,用于执行更复杂的数学运算。

Strings(字符串类型)

字符串在Dart中使用String类型表示,可以包含字母、数字、特殊字符等。字符串可以使用单引号或双引号括起来,Dart允许在字符串中使用插值表达式。例如:

String greeting = 'Hello,';
String name = 'Dart';
String message = '$greeting $name!';

Dart还提供了丰富的字符串处理方法,如拼接、截取、替换等,以满足不同的字符串操作需求。

Booleans(布尔类型)

布尔类型在Dart中用bool表示,只有两个取值:truefalse。布尔类型通常用于控制程序流程中的条件语句,例如if语句和循环。例如:

bool isDartCool = true;
bool isFlutterCool = false;

布尔类型在逻辑运算中也起到关键作用,例如与(&&)、或(||)、非(!)等操作符。

Collections(集合类型)

Dart提供了多种集合类型,其中包括列表(List)、集(Set)和映射(Map)。这些集合类型分别用于存储有序的元素列表、无序的唯一元素集合以及键值对形式的映射。例如:

List(列表)

列表是有序的元素集合,可以包含重复的元素。使用List类型来表示,可以通过索引访问其中的元素。例如:

List<int> numbers = [1, 2, 3, 4, 5];
元素12345
下标01234

Set(集)

集是无序的元素集合,不允许包含重复元素。使用Set类型来表示。例如:

Set<String> uniqueWords = {'apple', 'banana', 'orange'};

在这里插入图片描述

Map(映射)

映射是键值对的集合,每个键对应一个值。使用Map类型来表示。例如:

Map<String, int> scoreMap = {'John': 90, 'Alice': 85, 'Bob': 78};
KeyValue
John90
Alice85
Bob78

本章节简单介绍一下这些数据类型,通过这些数据类型,可以方便地进行数据的组织、存储和检索,满足不同场景下的需求。后续篇幅将详细介绍这些数据类型的使用和操作。

作者信息

作者 : 繁依Fanyi
CSDN: https://techfanyi.blog.csdn.net
掘金:https://juejin.cn/user/4154386571867191

相关文章:

  • 232.【2023年华为OD机试真题(C卷)】计算三叉搜索树的高度(JavaPythonC++JS实现)
  • 在React里面使用mobx状态管理详细步骤
  • Linux内核--进程管理(十二)LinuxIO基础知识与概念
  • uniapp自定义顶部导航并解决打包成apk后getMenuButtonBoundingClientRect方法失效问题
  • 华为“纯血”鸿蒙加速进场 高校、企业瞄准生态开发新风口
  • 安防监控EasyCVR视频融合/汇聚平台大华热成像摄像机智能告警上报配置步骤
  • 计算机算法贪心算法
  • 爆肝整理,接口测试+为什么要做接口测试总结,策底贯通...
  • 9.spring aop 原理
  • C++学习笔记(三十二):c++ 堆内存与栈内存比较
  • 什么是原生ip和广播ip
  • 记录汇川:H5U与Fctory IO测试8
  • 程序员英语 - 英文会议常用句型
  • Springboot+vue的毕业论文管理系统(有报告)。Javaee项目,springboot vue前后端分离项目
  • 国标28181平台的手机视频监控客户端的电子地图功能对比
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Android系统模拟器绘制实现概述
  • CentOS7简单部署NFS
  • Fabric架构演变之路
  • Git初体验
  • Git同步原始仓库到Fork仓库中
  • gops —— Go 程序诊断分析工具
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Vue ES6 Jade Scss Webpack Gulp
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 成为一名优秀的Developer的书单
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 一些css基础学习笔记
  • puppet连载22:define用法
  • 阿里云移动端播放器高级功能介绍
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #100天计划# 2013年9月29日
  • #大学#套接字
  • $jQuery 重写Alert样式方法
  • (¥1011)-(一千零一拾一元整)输出
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (黑马C++)L06 重载与继承
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (五)网络优化与超参数选择--九五小庞
  • (转)3D模板阴影原理
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET delegate 委托 、 Event 事件,接口回调
  • .net 简单实现MD5
  • .NET开发人员必知的八个网站
  • [04] Android逐帧动画(一)