flutter的核心库
flutter的核心库
整理一下flutter的核心库方便以后使用查询。
数字int
int常用属性
- sign: 返回此整数的符号,对于0返回0,对于小于0的数返回-1,对于大于0的数返回+1
- bitLength:返回储存此整数所需要的最大位数;4->00000001
- isEven:判断此整数是不是偶数;
- isOdd:判断此整数是不是奇数;
int的常用方法
- toRadixString(int radix) , 把当前的整数转换进制,radix表示进制的数字2~36.
- tryParse(String source,{int radix}), 将字符串source解析为可能带符号的整数文字,radix表示进制;
- parse()将字符串转为整数
字符串
- endsWith(String other) : 判断此字符串是否以other为结尾
- contains(Pattern other, [int start=0]),判断此字符串是否包含other的匹配项,start为默认参数,从start开始包含start开始匹配;
- indexOf(Pattern pattern ,[int start]) ,返此字符串中第一个匹配到pattern的位置,如果穿了start就从start开始,没有就返回-1;
- lastIndexOf(Pattern pattern {[int start]}),返回此字符串中最后一个匹配到的位置,没有就返回-1.
- startsWith (Pattern pattern ,[inde index=0]),判断此字符串是否已特定的pattern开头,如是就返回true,如果传入了index则index处开始判断。没有匹配到就返回-1.
字符串截取
- substring(int startIndex,[int endIndex]):返回此字符串的子字符串,从startIndex到endIndex,不设置endIndex则到字符串结尾。
- split(Pattern pattern):在pattern处开始拆分字符串,并且返回子字符串列表。
大小写切换
- toLowerCase(): 将此字符串全切换成小写
- toUpperCase():将此字符串全切换成大写
裁剪空字符串
- trim(),返回没有任何前导和尾随空格的字符串
- trimLeft(),返回没有任何前导空格的字符串
- trimRight(),返回没有任何尾随空格的字符串
- isEmpty(),判断当前字符串是否为空
字符串替换
- replaceAll(Pattern pattern ,String replace ), 使用replace替换所有匹配的子字符串 。 (PS 字符串是不可改变的对象,所以获得字符串是重新的创建的对象)
构建字符串
StringBuffer 是一个串联字符串的类,允许使用write*()来增加构建字符串,只有调用toString()的时候才会创建新的String对象。
- claer() 清楚字符缓冲空间
- write(Object object):将以转换为字符串的obj的内容添加到缓冲区
- writeAll(Iterable objectrs,[String separator = “”]): 遍历给定对象并按顺序写入他们,可选参数separator为写入时提供分隔符
正则表达式
Pattern 类有两个实现,一个String 另一个是RegExp
RegExp 类提供与JavaScript正则表达式相同的功能。
void main () {var numbers = RegExp(r'\d+');
var allcharacters = "llamas live fifiteen to twenty years ";
var someDigits = "llamas live 15 to 20 years ";
print(allcharacters.contains(numbers));
print(someDigits .contains(numbers));
var exedOut = someDigits .contains(numbers);
print(exedOut);
}
也可以使用Match类
void main (){var numbers = RegExp(r'\d+');var someDigits = "llamas live 15 to 20 years ";print(numbers.hasMatch(someDigits));for (var match in numbers.allMatch(someDigits)){print(match.group(0));}
}
URI
- decodeFull(String uri ) : uri适用百分比编码对字符串进行编码,使其可以安全用作完整的URI
- encodeFull(String uri): 解码uri中的百分比编码
编码解码URI组件
encodeComponent(String component) :使用百分比组件对字符串component进行编码,使其可以安全用作URI组件;
decodecomponent(String encodedComponent):解码 中的百分比编码
####构建URIs
parse(String uri,[int start =0,int end])
Uri的工厂方法。
时间和日期
- DateTime(…),根据本地市区来构建一个datetime实例
- DateTime.now(),使用本地市区当前时间来构建一个datatime的实例
- DateTime.utc(…)使用UTC来构建一个datetime的实例
- tryParse(String formattedString ):解析formattedString来构建一个DateTime的实例
数学库
import ‘dart:math’;
- Max(T a , T b); 输出两个数中大数
- min (Ta , Tb); 输出两个数中小数
- sqrt(num x): 将x转为double类并输出正平方根
- Random([int send]) 随机生成一个整数 可选speed参数用于初始化生成器内部状态
- nextBool() 随机生成一个布尔值
- nextDouble() 生成一个非负的浮点数范围【0,1)
- nexInt(int max) 生成一个非负的随机整数
转换库
import ‘dart:covnert’
编码和解码Json
- jsonEncode(Objectvalue, {ObjecttoEncodAble(ObjectnonEncodable)}):将值转为json字符串,如果包含无法直接编码为JSON的对象,可以调用toEncodAble的函数,让其转为可编码对象。
- JsonDecode(String source,{Object reviver(Objectkey,Object value)}):解析字符串并返回生成的JSON对象,对于在解码过程中已经解析的每个对象或者列表属性,都会调用一次可选的reviver函数。key是列表属性的索引
- encode(String input):将字符串转为UTF-8编码的字节列表
- decode(ListcodeUnits,{bool allowMalformed}):将UTF-8 单元解码成相应的字符串。
输入和输出的库
import “dart:io”
通过I/O库可以读取和写入文件及浏览目录。有两种选择来读取文件内容,如果文件小 可以采用“全部读取”;如果文件比较大则可以选择“流式读取”。文件通常的构造函数和方法:
- File(String path):从String路径创建一个file对象
- File.fromUri(Uri uri):从URI创建一个file对象
- openRead([int start ,int end]):为此内容创建一个新的独立的Stream,start为指定的开始偏移字节数,end为指定的结尾位置
- openWrite({FileMode mode:FileMode.write,Enciding encoding:utf8}):为该文件创建一个新的独立的IOSink,当不使用时必须关闭,FileMode.write将初始写入位置设置为开头,FileMode.append,将初始写入位置设置成结尾
- readAsString({Encoding encoding:utf-8}):给指定的encoding,以字符串的形式来读取文件
- readAsLines({Encoding encoding:utf-8}) 使用给定的Encoding以行来读取文件,返回一个Future<List>
- readByBites()以字节列表形式读取文件
写入文件内容
- IOSink(StreamConsumer<List>target,{Ecoding encoding:utf8}):构造函数创建一个IOSink对象,StrreamConsumer是一个接受多个完成流的接收器的抽象接口
- add<Listdata>:将字节流添加到目标使用者
- close():关闭目标使用者
- flush():返回一个future,一旦基础的streamConsumer接受了所有的缓冲数据该Future将会完成。
- write(Object obj):将obj转换为String,并将结果的编码添加到目标使用者
- writeAll(Iterable objects,[String separator =“”]):遍历指定的objects并将其按照顺序写入,separator为写入时的分隔符
列出目录中的文件
- Directory(String path):构造函数,创建一个directory对象
- list({bool recursive:false,bool followLinks:ture}):列出此目录的子目录和文件的可选参数recursive表示递归到子目录。返回用于目录、文件和链接的FileSystemEntity对象流
flutter的核心库相关推荐
- ZStack源码剖析之核心库鉴赏——FlowChain
本文首发于泊浮目的专栏:https://segmentfault.com/blog... 前言 在ZStack(或者说产品化的IaaS软件)中的任务通常有很长的执行路径,错误可能发生在路径的任意一处. ...
- sentinel 端口_双剑合璧Nacos结合Sentinel实现流量安全控制(一):Sentinel核心库和控制台...
Alibaba Sentinel 是一款高性能且轻量级的流量控制.熔断降级解决方案.是面向分布式服务架构的高可用流量控制组件. Sentinel 官网:https://sentinelguard.io ...
- Kotlin协程核心库分析-5 Job异常处理器注意点
本章我们简单探讨一下异常处理: 我们知道协程传入CoroutineExceptionHandler对象即可捕获异常,那么对于子协程是否适用呢? fun main() {val eChild = Cor ...
- CSCD.中国科学引文数据库核心库和引文库来源期刊列表(2007年-2008年)
CSCD.中国科学引文数据库核心库和引文库来源期刊列表(2007年-2008年) (按英文刊名字顺和中文刊名拼音音序排序) 说 明 中国科学引文数据库分为核心库和扩展库,数据库的来源期刊每两年进行评选 ...
- Flutter Icons图标库地址
Flutter Icons图标库地址: https://material.io/resources/icons/?icon=account_balance&style=baseline
- 一系列令人敬畏的.NET核心库,工具,框架和软件
内容 一般 框架,库和工具 API 应用框架 应用模板 身份验证和授权 Blockchain 博特 构建自动化 捆绑和缩小 高速缓存 CMS 代码分析和指标 压缩 编译器,管道工和语言 加密 数据库 ...
- 一万个bug——安装阿里云SDK核心库遇到的问题(涉及Rust、cryptography、openssl等的安装)
本文涉及Rust.cryptography.openssl等的安装 ----解决方式都是硬方式(仅凭报错信息分析,没有技术分析,按需参考) 其中: Rust 安装时遇到的问题在1-5 cryptogr ...
- JAVA学习笔记—JAVA SE(四)JAVA核心库类(下)
文章目录 四.JAVA核心库类(下) 1. 异常机制和File类 1.1 异常机制 1.1.1 基本概念 1.1.2 异常的分类 1.1.3 异常的避免 1.1.4 异常的捕获 1.1.5 异常的抛出 ...
- 核心库aud$过大清理
*险核心库aud$过大,需要清理,DB版本为11.2.0.4,由于保险行业需要审计信息至少保留半年,所以不能直接对aud$进行truncate清理,故需要使用ORACLE的清理方法. 点击(此处)折叠 ...
最新文章
- WinCE 7 Mouse HOOK
- 【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )
- 全国计算机等级考试三级历年真题,历年全国计算机等级考试三级(数据库技术)笔试选择真题...
- sdut2784cf 126b Good Luck!(next数组)
- static_cast、dynamic_cast、reinterpret_cast、const_cast[转]
- Java SSM篇2——框架的基本认识
- java动态创建bean的意义_Spring Boot如何动态创建Bean示例代码
- linux获取cpu数量函数,Linux上获取CPU Core个数的实现
- 大一c语言期末考试编程题
- 工业自动化控制软件SCADA数据模型的使用方法实例
- 数据结构 --- c语言实现双向循环链表
- 计算机点阵存储空间,计算机存储量计算存储400个24*24点阵汉字字形所需的存储容量是________....
- NGS 测序深度和覆盖度—Depth、Coverage
- 如何浏览与下载全球免费的地图高分辨率(亚米级)的遥感影像?
- 0045-一个Dashbord页面监控多个消费者
- 最新好看的自适应手机版软件APP下载类网站源码,游戏软件应用网站源码,自适应手机端Pbootcms模板
- face++实现人脸识别及人脸相似度对比
- 7.27 web前端-淘宝首页设计3
- 一文看懂WebRTC媒体服务器
- android版qq通讯录备份通讯录备份,安卓手机怎么备份通讯录 QQ同步助手备份通讯录方法-站长资讯中心...
热门文章
- oracle subquery是什么,如何让非关联子查询(uncorrelated subquery)先执行
- sqlserver禁用和开启外键约束
- mysql myisam 优点_mysql引擎Innodb和Myisam对比介绍和优缺点
- Tensorflow(2.0+) 对五类医学图像进行分类
- 记录一次微信小程序进行长连接通信使用emoji表情
- 让计算机开口说话教案,会说话的安全标志中班教案
- opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]
- 为了健康,将你的身体从酸性变为碱性
- IBM助力黄河三角洲云计算中心共建“智慧东营”
- 这 12 张手绘图,让我彻底搞懂了微服务架构!