Dart常用数据类型

Dart 数据类型 Dart中支持以下数据类型: 常用数据类型: Numbers(数值): int double Strings(字符串) String Booleans(布尔) bool List(数组) 在Dart中,数组是列表对象,所以大多数人只是称它们为列表 Maps(字典) 通常来说,Map 是一个键值对相关的对象。 键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次 字符串类型 //1、字符串定义的几种方式 // var str1='this is str1'; // var 阅读详情
Dart常用的数据类型有:
Numbers(数值)
  • int (整形)
  • double (浮点型)
Strings(字符串)
  • String (字符串类型)
Booleans(布尔)
  • bool (布尔类型)
List(数组)
  • 在Dart中,数组是列表对象,所以大多数人只是成它们为列表
Maps(字典 。)
  • 通常来讲,Map是一个键值对相对的对象。键和值可以是任何类型的对象
一. Numbers (int、double)
运算符: +、 - 、* 、/ 、~/(取整)、%(取余)
直接使用 / 获得的结果是长除法的结果 ,
而使用 ~/ 获得的结果是短除法中的商,
而是用 % 就是取余数的操作了
常用的属性:
isEven  表示这个数是不是偶数
isOdd  判断是否是奇数
isNaN  是否是数值类型
sign  返回该整数的符号(对于0返回0,对于小于0的值返回 -1,对于大于0的值返回 1。)
void main()
{
    int i = 5;
    print(i.isEven);			// false
    print(i.isOdd);				// true
    print(i.isNaN);				// false
    print(i.sign);				// 1
}
常用的方法:
toInt() : 转成int类型 (舍去小数)
toDouble()  转成double类型
abs()  表示绝对值
round()  四舍五入
ceil()  返回此不小于的最小整数  比如5.2, 返回的是6
truncate()  返回去掉小数点后面的整数
void main()
{
    double i = 2.2;
    print(i.abs());					// 2.2
    print(i.round());				// 2
    print(i.ceil());				// 3
    print(i.toInt().toDouble());	// 2.0
}
常用转换:
// String -> int
var one = int.parse('1');

// String -> double
var onePointOne = double.parse('1.1');

// int -> String
String oneAsString = 1.toString();

// double -> String 注意括号中要有小数点位数,否则报错
String piAsString = 3.14159.toStringAsFixed(2);
二. String
字符串声明
普通字符串使用单引号或者双引号都可以,多行的可以使用'''、"""来包裹.
void main()
{
    String str1 = '单引号声明字符串';
    String str2 = "双引号声明字符串";
    String str3 = '''
					第一行
					第二行 ''';
	String str4 = """
					第一行
					第二行 """;
}
在 String 中单、双引号互相嵌套的情况
void main()
{
    String str = '单引号中的"双引号"';
	String str1 = "双引号中的'单引号'";
	print(str);			// 输出:单引号中的"双引号"
	print(str1);		// 输出:双引号中的'单引号'

	String str2 = '单引号中的 \'单引号\' ';
	String str3 = "双引号中的 \"双引号\" ";
	print(str2);		// 输出:单引号中的 '单引号' 
	print(str3);		// 输出:双引号中的 "双引号" 
}
字符串拼接
字符串拼接可以使用+和空格来拼接
void main()
{
	// 使用“+”号来拼接字符串
	String str = '单引号字符串' + "双引号字符串";
  
	// 单引号、空格拼接,多个空格也可以
	String str1 = '单引号空格字符串' '拼接'		'!';

	// 单双引号换行符以及空格
	String str2 = '单引号符串'
	'换行了' '再加空格' '拼接';

	// 单双引号、空格拼接,多个空格也可以
	String str3 = "单双引号空格字符串" "拼接" 	"!";

	// 单双引号、换行符以及空格
	String str4 = "单双引号符串"
	'换行了' '再加空格' '拼接';

	// 单双引号混合使用
	String str5 = '单""""引号';
  	String str6 = "双''''引号";

	print(str);			// 单引号字符串双引号字符串
	print(str1);		// 单引号空格字符串拼接!
	print(str2);		// 单引号符串换行了再加空格拼接
	print(str3);		// 单双引号空格字符串拼接!
	print(str4);		// 单双引号符串换行了再加空格拼接
	print(str5);		// 单""""引号
	print(str6);		// 双''''引号单引号空格
}
${表达式}的使用
可以在字符串中使用${}中包裹来实现拼接, 如果{}内是一个对象可以省略{}.
void main()
{
	String str = '字符串1' + '字符串2';
	String str1 = 'adc' 'def';

	String str2 = '123${str.toString()}';
	String str3 = '123${str}';
	String str4 = '123$str';

	print(str);         // 字符串1字符串2
    print(str1);        // adcdef
    print(str2);        // 123字符串1字符串2
    print(str3);        // 123字符串1字符串2
    print(str4);        // 123字符串1字符串2
}
三. Boolean
void main()
{
	bool flag = true;
	if (flag)
	{
		print('真');
	}
	else
	{
		print('假');
	}
}
assert 是语言内置的断言函数,仅在检查模式下有效,如果断言失败则程序立刻终止
void main()
{
	// 检查是否为空
	var value = '';
	assert(value.isEmpty);

	// 为0检查
	var value1 = 0;
	assert(value1 <= 0);

	// 检查是否为 null.
	var value2;
	assert(value2 == null);

	// 检查是否为 NaN.
	var value3 = 0 / 0;
	assert(value3.isNaN);
}
四. List
称作集合(数组). 是有序且可重复的.
实例化 List 的方法如下
void main()
{
	// 使用构造创建
	var list = new List();

	// 创建一个int类型的list
	List intlist = [1, 2, 3];

	// 创建一个常量List, 不可以改变的List
	List constList = const[4, 5, 6];
}
List常用方法
void main()
{
	// 在数组中可以存放多个不同类型的对象
	var list = [1, 2, 3, 'Flutter', true];
	print(list);					// 输出的结果:[1, 2, 3, Flutter, true]

	// 修改数组下标为2的值
	list[2] = 'Dart';
	print(list);					// 输出的结果:[1, 2, Dart, Flutter, true]

	// 获取数组的长度
	print(list.length);				// 输出的结果:5

	// 向数组中添加元素
	list.add("value");
	print(list);					// 输出的结果:[1, 2, Dart, Flutter, true, value]

	// 向数组中的指定位置添加元素
	list.insert(1, 'element');  
	print(list);					// 输出的结果:[1, element, 2, Dart, Flutter, true, value]

	// 移除数组中的元素
	list.remove("value");
	print(list);					// 输出的结果:[1, element, 2, Dart, Flutter, true]

	// 移除数组中指定的元素
	list.removeAt(1);
	print(list);					// 输出的结果:[1, 2, Dart, Flutter, true]

	// 判断数组中是否有某个元素
	print(list.indexOf("element"));	// 输出结果:-1

	// 可以使用 sort() 函数来排序, 但是由于我们使用定义的数组类型不一样,就不能使用
	var intlist = [1, 2, 5, 6 ,3];

	// 根据语法提示: List.sort([(int, int) → int compare]) → void
	intlist.sort( (a, b) =>  a.compareTo(b) );
	print(intlist);					// 输出结果:[1, 2, 3, 5, 6]
}
五. Map
是键值对的集合,一般来说,map是将键和值相关联的对象。键和值都可以是任何类型的对象。每个键只出现一次,但你可以多次使用相同的值。Dart支持map由map文字和map类型提供。
创建 Map 集合
void main()
{
	// 通过构造器创建
	var initLanguage = new Map();
	
	// 创建Map 
	var language = {'fisrt': 'dart', 'second': 'java'};

	// 创建不可变的 Map
	var constLanguage = const {'fisrt': 'dart', 'second': 'java'};
}

Map 中常用的方法
void main()
{
	// 创建Map 
	var map = {'fisrt': 'dart', 'second': 'java'};

	// 获取长度
	print(map.length);					// 输出:2

	// 判断是否为空
	print(map.isEmpty);					// 输出:false
	print(map.isNotEmpty);				// 输出:true

	// 获取到所有的 key
	print(map.keys);					// 输出:(fisrt, second)

	// 获取到所有的 values
	print(map.values);					// 输出:(dart, java)

	// 判断是否包含某个key
	print(map.containsKey("key"));		// 输出:false

	// 判断是否包含某个value
	print(map.containsValue("key"));	// 输出:false

	// 添加一个新的元素进去
	map['third'] = 'key';
	print(map);							// 输出:{fisrt: dart, second: java, third: key}

	// 循环打印 代码提示:Map.forEach((String, String) → void f) → void
	map.forEach( (key, value) =>  getMap(key, value) );
}


void getMap(key, value)
{
	print("key:${key}, value:${value}");
	/*
		输出:
		key:fisrt, value:dart
		key:second, value:java
		key:third, value:key
	*/
}
六. const final var
在声明变量的时候,除了var,还可以使用const和final
同时,在使用const和final的时候,可以省略var或者其他类型
void main()
{
	var i = 10;
	const i = 10;
	final i = 10;

	int i = 10;
	const int i = 10;
	final int i = 10;
}
const和final定义的都是常量,值不能改变,并且在声明的时候就必须初始化
但是也有细微差别,简单来说
const定义的是编译时常量,只能用编译时常量来初始化,final定义的常量可以用变量来初始化
void main()
{
	final time = new DateTime.now(); // Ok
	const time = new DateTime.now(); // Error,new DateTime.now()不是const常量
}
var、final等在左边定义变量的时候,并不关心右边是不是常量
但是如果右边用了const,那么不管左边如何,右边都必须是常量
void main()
{
	const list = const[1,2,3];					// Ok
	const list = [1,2,3];						// Error

	final list = [1,2,3];						// Ok
	final list = const[1,2,3];					// Ok
	final list = const[new DateTime.now(),2,3];	// Error,const右边必须是常量
}
Dart语言的数据类型 Dart的类型系统为开发人员提供了强大的工具,以确保代码的安全性和可维护性。通过理解基本数据类型、集合类型和特殊类型,开发人员可以更高效地编写出高质量的Dart代码。掌握这些数据类型的应用,将有助于你在Dart及其生态系统中游刃有余,特别是在移动应用开发中,提升你的编程能力和解决复杂问题的能力。希望本文能对你理解和使用Dart的数据类型有所帮助! 阅读详情

相关推荐

Dart语言之数据类型

数据类型、Stream

m0_60264901的博客 899

Dart 数据类型,看这篇就够了!

前言 Dart 支持以下数据类型: 数字(number) 字符串(string) 布尔值(boolean) 列表(list) 集合(set) 映射(map) 符文(rune) 符号(Symbol) 数字类型 Dart 中数字类型用于表示数字文字,Dart 中的数字类型分为整数和双精度数两种,整数值不大于64位, 具体取决于平台。 整数(int): 表示非小数值,即没有小数点的数值。 // 声明...

🏆 前端领域优质创作者 1万+

HR离职预测模型实战:可解释、可干预、可落地的三层架构

员工离职预测本质上是组织健康度的早期诊断技术,其核心原理在于从行为、心理与结构数据中识别稳定性衰减信号。该技术的价值不仅在于提升预测准确率,更在于将模糊的‘人才风险’转化为可归因、可干预的具体因子,如工龄阶段、满意度落差、薪酬分位数等。典型应用场景覆盖HRBP主动留任、业务部门梯队预警及HRIS系统智能升级。本文聚焦于构建具备业务可解释性与操作闭环能力的离职预警模型,深度融合HR工作流与机器学习工程实践,尤其强调逻辑回归基线、特征业务化重构及三层递进式架构设计。

赵士杰的博客 387

Dart 基本数据类型

【代码】Dart 基本数据类型。

Steve_XiaoHai的博客 700

AHB2eflash 控制器设计笔记

① SRAM② DRAM③ SSD④ SATA⑤ U 盘⑥ 移动硬盘⑦ 机械磁盘eflash。

weixin_46220498的博客 3078

Lumerical INTERCONNECT 中的自相位调制 (SPM) 仿真实践指南

本文详细介绍了在Lumerical INTERCONNECT中进行自相位调制(SPM)仿真的实践指南。从SPM的基础物理原理出发,深入解析非线性薛定谔方程和克尔效应,到INTERCONNECT中NLSE波导元件的配置技巧,以及时域与频域中SPM效应的观测方法。文章还提供了常见问题排查和进阶联合仿真技巧,帮助用户高效完成从仿真到实测的校准过程。

weixin_42565652的博客 187

Dart中常用数据类型及数据类型详解

Dart中常用数据类型的使用,dart中字符串的拼接;var, Object, dynamic的区别 Dart中数据类型的判断 Dart中数组list的使用,以及数组list的常用方法 Dart中Map集合的使用,以及Map的常用方法 Dart数据类型:字符串类型 字符串定义的几种方式 字符串的拼接 Dart数据类型:数值类型 数值型的操作 Dart数据类型:布尔类型 Dart数据类型: List(数组/集合) 1.二种定义List的方式2.定义List指定类型

Android_SuperTeacher的博客 1626

基于STM32控制直流电机加减速正反转仿真设计

*单片机设计介绍,基于STM32控制直流电机加减速正反转仿真设计。

2201_75940997的博客 1603

Dart语言之常用数据类型

目录 前言 一、Dart概述 二、Dart常用数据类型 2.1、Dart知识体系 2.2、数字类型(num、int和double) 2.3、字符串(String) 2.4、布尔 2.5、集合之List 2.6、集合之Map 2.7、dynamic、var和Object的区别 前言 又有一段时间没有写东西了,很长时间不写,表明了两个点,一个是说明了自己的惰性,另一个就是说明了...

江湖人陆仁甲 1605

常用的数据结构以及常用的算法

常用的数据结构以及常用的算法 常用数据结构 数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 数据结构往往同高效的检索算法和索引技术有关。 一、线性表 线性结构: 最常用、最简单的一种数据结构。 线性表: 典型的线性结构。基本特点是线性表中的 数据元素有序且有限。结构中: ① 存在一个唯一的被称为“第一个”的数据元素; ② 存在一个唯一的被称为“最后一个”的数据元素; ③ 除第一个元素外,每

qq_47605698的博客 1449

基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)

当前基于STM32设计的独居老人居家监护系统为独居老人提供一种简便、实时的健康监护服务。该系统通过集成多种传感器和功能模块,能够实时监测老人的生理指标、姿态以及室内环境状况,并通过微信小程序远程显示数据,当出现异常情况时及时发出报警提醒。

1万+

【dart】常用数据类型

dart常用数据类型

七十多岁的人了、 480

多物理场光学仿真软件:Lumerical_(15).多物理场耦合仿真案例分析

在多物理场光学仿真中,Lumerical 软件提供了强大的工具来模拟复杂的光学系统,包括光子学、热学、力学和电学等多物理场的耦合。本节将通过具体的案例分析,展示如何在 Lumerical 中进行多物理场耦合仿真的开发和实现。我们将从简单的热光效应仿真入手,逐步深入到更复杂的多物理场耦合场景,如光电效应和光力学效应。每个案例都将包括详细的原理说明和具体的代码示例,帮助读者更好地理解和应用这些技术。

kkchenjj的博客 1022

Dart常用的数据类型

String字符串类型 main() { String str1 = "this is str1"; print(str1); // 多行字符串 String str2 = ''' 11111 22222 33333 '''; print(str2); // 字符串的拼接 String str3 = '你好'; String str4 = 'Da...

明知山 519

基于特征模仿的YOLOv5中间层知识蒸馏:原理、实现与实验全解析

目标检测中的模型轻量化是一个关键挑战。本文提出一种基于特征模仿(Feature Imitation)的YOLOv5中间层知识蒸馏方法,通过让学生模型学习教师模型的中间层特征表示,显著提升轻量级检测器的性能。我们将详细阐述蒸馏损失函数的设计、特征对齐策略、训练流程,并提供完整可运行的代码实现。同时,推荐多个适合蒸馏训练的数据集,并通过实验验证方法的有效性。

YOLO 186

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Dart基础第二篇:Dart的常用数据类型

/** * Dart常用数据类型 */ void main(){ /** * Number 数值类型 int double String 字符串类型 String Boolean 布尔类型 boolean List 数组类型 在Dart中,数组是列表对象,所以大多数人称他为列...

一花一世界 一叶一菩提 764

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

dart和python混编_Flutter学习第二天:Dart常用数据类型以及方法大总结,满满的干货,对于学过Python和java的太友好了?...

这个我学习Flutter的第二天,因为学习Flutter的肯定得学习Dart语言,Dart是Flutter的主要开发语言。我的第一个感觉是Dart的语法好像是python和java的结合体,虽然他也有属于他自己的一些语法,但是整体来说,主要学了一门语言,大部分都是相通的,只是可能表达形式不一样。Dart的常用数据类型1.numnum:数值型变量,可以存储(负数,整数,浮点数等)。num num1=...

weixin_42166261的博客 878

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Dart基础篇 1.常用数据类型

1.数字类型 num 是数字类型的父类,有两个字累 int 和 double 2.字符串 String 3.布尔类型 bool 4.List集合 List 5.map map import 'package:flutter/material.dart'; import 'package:flutter_study/data_type.dart'; ///入口函...

你的益达啊 879

详解flutter之dart常用数据类型

以上就是dart 中的 常用类型,这里只是,简单的声明和读写操作。至于,每个类型所具有的方法,我们后面后面遇到,我们再具体说明。字符串类型:简单理解,即:英文引号内的值就是字符串。

weixin_48831387的博客 432

Dart语法重点学习—语言特性与常用数据类型

语言特性 Dart所有的东西都是对象, 即使是数字numbers、函数function、null也都是对象,所有的对象都继承自Object类。 Dart动态类型语言, 尽量给变量定义一个类型,会更安全,没有显示定义类型的变量在 debug 模式下会类型会是 dynamic(动态的)。 Dart中的类和接口是统一的,类即接口,你可以继承一个类,也可以实现一个类(接口),自然也包含了良好的面向对象和并发编程的支持。 Dart 没有 public、private、protected 这些关键字,变量名以"_"开

u012869941的博客 416

Dart之常用数据类型(字符串、数值、布尔、集合、映射)

一、字符串 main() { // 1、字符串的定义方式 //推导类型双引号定义 var str1 = "hello1"; //推导类型单引号定义 var str2 = 'hello2'; //指定类型单引号定义 String str3 = 'hello3'; //指定类型双引号定义 String str4 = "hello4"; //多行文本 String str5 = '''hello world '''; print(str1); //hello1 pr

一起coding,一起嗨。 1274

Flutter入门(一)------Dart语言

一.Dart 重要的概念如下: 1.所有的东西都是对象,无论是变量、数字、函数等都是对象 所有的对象都是类的实例。所有的对象都继承自内置的Object类。这点类似于 Java 语言“ 切皆为对象” 。 2.程序中指定数据类型使得程序合理地分配内存空间,并帮助编绎器进行语法检查。但是,指定类型不 必须的 Dart 言是弱数据类型。 3.Dart代码在运行前解析。指定数据类型...

鹿林深的博客 383

Dart基础第3篇:常用数据类型、字符串类型、数值类型、布尔类型、List集合类型、Maps类型

一丶 数据类型 二丶 字符串类型 三丶 数值类型 四丶 布尔类型 五丶 List集合类型 六丶 Maps类型 七丶 类型判断

qq_27494201的博客 495
上一篇: Dart介绍 环境搭建
「已注销」
博客等级 码龄12年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值