【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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/614352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea编译报错(Maven项目)

idea编译报错 找不到符号 第一步&#xff1a;开启注解处理器 第二步&#xff1a;清理MVN&#xff0c;package并重新编译 第三步&#xff1a;重新导入项目&#xff1a;

04.C++模板笔记

1、模板 ①与具体类型无关的代码&#xff1a;泛型编程 ②模板的使用格式&#xff1a; 一个类型&#xff1a;template<typename T> 或者template<class T> 多个类型&#xff1a;template<typename T1,typename T2>或者template<class T1,class T2>…

遇到的各种问题

软件 mpv倍速等功能问题 typora字数过多卡顿原因 node.js安装教程 pycharm模板——模版会在新建文件的时候&#xff0c;自动添加到文件内容里插件——如何下载插件&#xff0c;有哪些推荐插件 mpv 倍速等功能问题 官网有快捷键&#xff1a;https://mazhuang.org/wiki/mpv/ t…

vue element-ui的table列表中展示缩略图片效果实例

这篇文章主要给大家介绍了关于vue element-ui的table列表中展示多张图片(可放大)效果的相关资料,文中通过代码示例介绍的非常详细,需要的朋友可以参考下 一、效果图 二、代码部分 1、原理 使用 <el-table-column> 和 <el-image> 组件来在表格中插入缩略图 2、te…

杨中科 .NETCORE NuGet

一 简介 Zack.EFCore.Batch 使用这个开发包Entity Framework Core用户可以使用LINQ语句删除或者更新多条数据库记录&#xff0c;操作只执行一条SQL语句并且不需要首先把实体对象加载到内存中。这个开发包支持Entity Framework Core 5.0以及更高版。 操作说明: 第一步 Install-…

diffusers flask streamlit 简洁可视化文生图页面

参考: https://python-bloggers.com/2022/12/stable-diffusion-application-with-streamlit/ https://github.com/LowinLi/stable-diffusion-streamlit 项目结构 本项目很简洁,暂时每次只能返回一张图片;gpu资源T4 16g;测试下来基本也只能支持同时一个人使用 flask:作为…

程序员英语 - 英文会议常用句型

相信大部分程序员都会有如下经历&#xff1a; 产品经理&#xff08;BA&#xff09;们在和外系统聊集成方案时或者给用户解决某个问题时发现搞不定了&#xff0c;这个时候就会拉上程序员一起上会参与讨论或者排查问题&#xff0c;但程序员们英文又不好&#xff0c;上了会又听不懂…

腾讯NUS推出下一代多模态智能,支持2/3D视觉、听觉、触觉、脑电

多模态感知一直是通用人工智能发展的关键领域。理想中的智能体能像人类一样感知多种模态信息&#xff0c;如视觉、听觉、嗅觉、触觉等&#xff0c;并与用户进行自然交互。然而&#xff0c;现有的大型模型虽然在图像和文字上表现出色&#xff0c;但对其他模态&#xff08;如3D点…

操作系统 内存相关

0 内存 cpu和内存的关系 内存覆盖 内存的覆盖是一种在程序运行时将部分程序和数据分为固定区和覆盖区的技术。这种技术的主要目的是为了解决程序较大&#xff0c;无法一次性装入内存导致无法运行的问题。 具体来说&#xff0c;内存的覆盖技术将用户空间划分为以下两个部分&…

基于51单片机的数字时钟系统设计

标题&#xff1a;基于51单片机的数字时钟系统设计与实现 摘要&#xff1a; 本文主要研究和实现了基于STC89C51单片机的数字时钟系统&#xff0c;该系统具有显示实时日期和时间、设置调整时间和闹钟提醒等功能。论文首先对系统需求进行分析&#xff0c;然后详细介绍了系统的硬件…

c++一些使用频率较高的库函数

目录 memset&#xff08;&#xff09; memset&#xff08;&#xff09;接受三个参数&#xff1a; 注意 swap&#xff08;&#xff09; reverse&#xff08;&#xff09; reverse函数接收两个参数&#xff1a; reverse&#xff08;&#xff09;反转整形向量元素顺序示例 …

Qt QSpinBox微调框控件

文章目录 1 属性和方法1.1 值1.2 步长1.3 循环1.4 加速1.5 前缀和后缀1.6 信号和槽 2 实例2.1 布局2.2 代码实现 微调框&#xff0c;允许用户按照一定的步长&#xff0c;来增加或减少其中显示的数值 修改微调框数值的方式包括&#xff1a; 单击右侧的向上/向下按钮按键盘的向上…

LINUX——动/静态库

加油加油~ 目录&#xff1a; 动/静态库是什么&#xff1f; .o文件是什么&#xff1f; 以gcc编译器为例&#xff0c;查看xxx.i xxx.s xxx.o文件 生成test.i文件(预处理) 生成test.s文件(编译) 生成test.o文件(汇编) 生成可执行程序(链接)&#xff1a; 小结&#xff1a…

uniapp的H5如何实现全局组件加载,类似uni.showToast?

在项目components文件夹新建一个base-loading文件夹&#xff0c;文件包括两个文件 第一个文件base-loading.vue <template><u-overlay :show"visible" opacity"0.5"><view class"base-loading" v-show"visible">&…

Git 基础指令

Git 基础指令 本章涵盖了我们在使用 Git 完成各种操作时将会用到的各种基本命令。 在学习完本章之后&#xff0c;我们应该能够配置并初始化一个仓库&#xff08;repository&#xff09;、开始或停止跟踪&#xff08;track&#xff09;文件、暂存&#xff08;stage&#xff09;…

【开题报告】基于SpringBoot的运动会报名管理系统的设计与实现

1.选题背景 运动会是学校、社区或组织中重要的体育活动之一&#xff0c;它不仅能够促进身体健康&#xff0c;还能够培养团队合作精神和竞争意识。然而&#xff0c;传统的报名管理方式通常繁琐而复杂&#xff0c;容易出现信息丢失或错误&#xff0c;给组织者和参与者带来不便。…

模拟数字转换器

本节主要介绍以下内容&#xff1a; ADC简介 ADC功能框图详解 参考资料:《零死角玩转STM32》“ADC—电压采集”章节 一、ADC简介 ADC &#xff1a;Analog to Digital&#xff0c;模拟数字转换器 三个独立的ADC 1 / 2 / 3分辨率为12位每个ADC具有18个通道&#xff0c;其中…

代码随想录刷题笔记(DAY 10)

今日总结&#xff1a;快要期末考试了&#xff0c;现在在疯狂速成&#xff0c;今天稍微缓和了一点&#xff0c;应该能保证继续每天刷题&#xff0c;欠下的那些寒假补上。 Day 10 01. 用栈实现队列&#xff08;No. 232&#xff09; 题目链接 代码随想录题解 1.1 题目 请你仅…

AcWing1210-连号区间

文章目录 题目输入格式输出格式数据范围样例输入样例1输出样例1输入样例2输出样例2样例解释 思路代码 题目 输入格式 输出格式 数据范围 样例 输入样例1 4 3 2 4 1 输出样例1 7 输入样例2 5 3 4 2 5 1 输出样例2 9 样例解释 思路 固定L&#xff0c;遍历R在[L,R]区域中找到最大…

参数小,性能强!开源多模态模型—TinyGPT-V

安徽工程大学、南洋理工大学和理海大学的研究人员开源了多模态大模型——TinyGPT-V。 TinyGPT-V以微软开源的Phi-2作为基础大语言模型&#xff0c;同时使用了视觉模型EVA实现多模态能力。尽管TinyGPT-V只有28亿参数&#xff0c;但其性能可以媲美上百亿参数的模型。 此外&…