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

Flutter ☞ 数据类型

数值类型 intdoublenum

int

整型,取值通常在 -253 ~ 253 之间
int class

double

64-bt(双精度)浮点数,符合 IEEE 754 标准。
double class

num

数值类型的基类,int 和 double 都继承自num。
num class

数值转换

// String -> int
int a = int.parse('123');
// String -> double
double b = double.parse('1.234');// int -> String
String a = 123.toString();
// double -> String
String b = 1.234.toString();
print([a, b]);// double -> int
double a = 1.23;
int b = a.toInt();
print(b);

布尔 bool

为了代表布尔值,Dart 有一个名字为 bool 的类型。只有两个对象是布尔类型:truefalse 所创还能得对象,这两个对象也是编译时常量。

bool a;
print(a);

true 判断

只有 true 对象才被认为是 true。所有其他的值都是 false

String name = '123';
if (name) {print('this is name'); // 不执行
}

assert 断言

var a = true;
assert(a);var name = '';
assert(name.isEmpty); // 是否为空
assert(name.isNotEmpty); // 是否不为空var num = 0 / 0;
assert(num.isNaN);
  • 断言只有在 Debug 模式下运行有效,如果在 Release 模式下运行,则断言不会执行。

字符串 String

字符串的创建

final myString = 'Bob\'s dog';            // Bob's dog
final myString = "a \"quoted\" word";     // a "quoted" wordfinal myString = "Bob's dog";             // Bob's dog
final myString = 'a "quoted" word';       // a "quoted" wordfinal value = '"quoted"';                 // "quoted"
final myString = "a $value word";         // a "quoted" word
  • 单引号与双引号都可创建 String 对象。
  • 在单引号内部如果使用单引号则需要转义,而使用双引号则不需要转义。反之亦然。
  • 在String中可以使用 $${} 引入某个对象进行字符串转义。

字符串的连接

var a = 'hello' + ' ' + 'word';
var a = 'hello'' ''word';
var a = 'hello'   ' '     'word';var a = 'hello'
' '
'word';var a = '''
hello word
this is multi line
''';var a = """
hello word
this is multi line
""";print(a);

转义符号

var a = 'hello word \n this is multi line';
print(a);hello wordthis is multi line

在字符串内部使用 \ 即为转义

取消转义

var a = r'hello word \n this is multi line';
print(a);hello word \n this is multi line

取消转义即在字符串前添加 r 修饰

字符串搜索

var a = 'web site ducafecat.tech';
print(a.contains('ducafecat')); // 是否包含该字符串
print(a.startsWith('web')); // 是否以 web 开头
print(a.endsWith('tech')); // 是否以 tech 结尾
print(a.indexOf('site')); // site 在字符串中的位置true
true
true
4

StringBuffer 使用

var sb = StringBuffer();
sb..write('hello word!')
..write('my')
..write(' ')
..writeAll(['web', 'site', 'https://ducafecat.tech']);
print(sb.toString());hello word!my websitehttps://ducafecat.tech

StringBuffer 是存储 String 的桶子,必需使用 toString() 函数才能得到 String 类型

DateTime 时间

创建

  • 当前时间
var now = new DateTime.now();
print(now);2023-05-28 14:37:43.607
  • 指定年月日
var date = new DateTime(2008, 10, 01, 9, 30);
print(date);2008-10-01 09:30:00.000
  • 协调世界时 UTC
var d = new DateTime.utc(2008, 10, 01, 9, 30);
print(d);2008-10-01 09:30:00.000Z
  • 解析时间
var d = DateTime.parse('2008-10-01 09:30:30Z');
print(d);2008-10-01 09:30:30.000Zvar d = DateTime.parse('2008-10-01 09:30:30+0800');
print(d);2008-10-01 01:30:30.000Z

时间增减

var d = DateTime.now();
print(d);
print(d.add(new Duration(minutes: 5)));
print(d.add(new Duration(minutes: -5)));2023-10-01 22:09:12.805
2023-10-01 22:14:12.805
2023-10-01 22:04:12.805

时间比较

var d1 = new DateTime(2008, 10, 1);
var d2 = new DateTime(2008, 10, 10);
print(d1.isAfter(d2)); // d1 是否在d2之后
print(d1.isBefore(d2)); // d1 是否在 d2 之前false
truevar d1 = new DateTime.now()
var d2 = d1.add(new Duration(milliseconds: 30));
print(d1.isAtSameMomentAs(d2));false

时间差

var d1 = new DateTime(2008, 10, 1);
var d2 = new DateTime(2008, 10, 10);
var difference = d1.difference(d2);
print([difference.inDays, difference.inHours]);[-9, -216]

时间戳

var now = new DateTime.now();
print(now.millisecondsSinceEpoch); // 秒级
print(now.microsecondsSinceEpoch); // 毫秒级

相关文章:

Flutter ☞ 数据类型

数值类型 int、double、num int 整型,取值通常在 -253 ~ 253 之间 int class double 64-bt(双精度)浮点数,符合 IEEE 754 标准。 double class num 数值类型的基类,int 和 double 都继承自num。 num class 数值转换 // String -> …...

MyBatis-Plus 实战教程一

这里写目录标题 简介快速上手数据库建立创建实体类修改参数引入依赖测试常见注解介绍TableNameTableIdTableField 常见配置仓库地址 简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,…...

闭包(函数)

把内部函数通过return扔出去 必要条件...

Go包介绍与初始化:搞清Go程序的执行次序

Go包介绍与初始化:搞清Go程序的执行次序 文章目录 Go包介绍与初始化:搞清Go程序的执行次序一、main.main 函数:Go 应用的入口函数1.1 main.main 函数1.2 main.main 函数特点 二、包介绍2.1 包介绍与声明2.2 非 main包的 main 函数2.3 包的命名…...

Python教程(15)——Python流程控制语句详解

目录 if语句else if语句for循环遍历类型range关键字 while循环break语句continue语句 Python流程控制是Python编程中非常重要的一部分,它用于控制程序的执行流程。Python提供了多种流程控制语句,包括if语句、while循环、for循环、break和continue语句等。…...

JavaScript基础知识16——分支语句

哈喽,大家好,我是雷工。 今天学习JavaScript基础知识的分支语句,以下为学习笔记。 1、程序三大流程控制语句 ○写几句就从上往下执行几句,这种叫做顺序结构; ○有时要根据条件选择执行代码,这种叫分支结构…...

web开发初级工程师学习笔记

web开发初级工程师学习笔记 前端开发工具实验1 VS Code 初体验介绍 前端开发工具 实验1 VS Code 初体验 介绍 VS Code 环境提供的是一个可以在浏览器中使用原生 VS Code 编辑代码的程序。在该环境中,你可以使用到与本地安装近乎一致的 VS Code 程序来编辑代码文件…...

Linux下Samba服务安装及启用全攻略

Linux下Samba服务安装及启用全攻略 前言一、安装SSH Server二、安装Samba Server1.安装net-tool2.建立账号的samba3.windows通过Samba与linux共享文件4.使用远程工具登录Linux 总结 前言 提示:本文详解了在Linux系统下如何安装和启用Samba服务,涵盖了从…...

【C++】引用’‘的深入解析

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...

java链式编程对象序列化问题

在使用 openfeign 进行服务之间数据传输时发现了一个问题,数据在下游正常处理,响应到调用端数据也读取到了,但是就是 jackson 转对象序列化时出了问题,异常如下 Failed to complete request: feign.codec.DecodeException: Type d…...

关于Redis(Redisson)超时问题的分析

概述 生产环境中流量高峰期会出现短时间的redis异常,主要报错如下: Redis server response timeoutRedisTimeoutException: Command execution timeout for command: (PING)Command still hasn’t been written into connection! 根据redisson官方所述…...

Redis 主从复制,哨兵,集群——(2)哨兵篇

目录 1. Redis 哨兵是什么? 2. Redis 哨兵有什么用? 2.1 主动监控 2.2 消息通知 2.3 故障转移 2.4 配置中心 3. Redis 哨兵数量配备要求 4. 哨兵配置文件详解 5. quorum 投票数详解 5.1 quorum 的含义 5.2 网络抖动导致主观下线 5.3 quorum …...

C++入门笔记分享

有道云笔记...

使用conda install一直卡在solving environment的解决方法

使用国内镜像源,但install仍旧一直卡在solving environment,超过10分钟就不用等了; 检查C:\Users\UserName 路径下的.condarc文件 将这个defaults这一行删掉即可...

神经网络和AI的关系

神经网络(Neural Networks)和人工智能(Artificial Intelligence,AI)之间存在紧密的关系,可以概括为以下几点: 神经网络是AI的子领域:神经网络是人工智能的一个子领域,它是…...

[牛客]计算机网络习题笔记_1020

1、物理层:以太网 调制解调器 电力线通信(PLC) SONET/SDH G.709 光导纤维 同轴电缆 双绞线等。 2、数据链路层(网络接口层包括物理层和数据链路层):Wi-Fi(IEEE 802.11) WiMAX(IEEE 802.16) ATM DTM 令牌环 以太网 FDD…...

蓝牙音视频远程控制协议(AVRCP)介绍

零.声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。 第二篇:Trans…...

家庭WIFI路由器、无线网卡购买指南

一、参考资料 【Wi-Fi】802.11/802.11b/802.11g/802.11n/802.11a/802.11ac/802.11ax/802.11be 从带宽到路由,从有线到无线,从需求到选购,从布网到实测,全部说尽。基础篇(1) 【一文详解】802.11a/b/g/n/ac/…...

Matlab2022b软件如何切换中/英文界面?

在中文Windows操作系统中,MATLAB2015b之后版本安装默认为中文版,但有部分用户还是习惯使用英文界面下的MATLAB(个人偏好),下面以R2022b版分享一下中/英文界面的切换方法,超简单。 一、中文切换为英文界面&…...

通过后端数据交互,实现【会议Oa小程序】首页数据渲染

🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《微信小程序 》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

命令行关闭Windows防火墙

命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)​方法二:CMD命令…...