flutter的核心库

flutter的核心库

整理一下flutter的核心库方便以后使用查询。

数字int

int常用属性

  1. sign: 返回此整数的符号,对于0返回0,对于小于0的数返回-1,对于大于0的数返回+1
  2. bitLength:返回储存此整数所需要的最大位数;4->00000001
  3. isEven:判断此整数是不是偶数;
  4. isOdd:判断此整数是不是奇数;

int的常用方法

  1. toRadixString(int radix) , 把当前的整数转换进制,radix表示进制的数字2~36.
  2. tryParse(String source,{int radix}), 将字符串source解析为可能带符号的整数文字,radix表示进制;
  3. parse()将字符串转为整数

字符串

  1. endsWith(String other) : 判断此字符串是否以other为结尾
  2. contains(Pattern other, [int start=0]),判断此字符串是否包含other的匹配项,start为默认参数,从start开始包含start开始匹配;
  3. indexOf(Pattern pattern ,[int start]) ,返此字符串中第一个匹配到pattern的位置,如果穿了start就从start开始,没有就返回-1;
  4. lastIndexOf(Pattern pattern {[int start]}),返回此字符串中最后一个匹配到的位置,没有就返回-1.
  5. startsWith (Pattern pattern ,[inde index=0]),判断此字符串是否已特定的pattern开头,如是就返回true,如果传入了index则index处开始判断。没有匹配到就返回-1.

字符串截取

  1. substring(int startIndex,[int endIndex]):返回此字符串的子字符串,从startIndex到endIndex,不设置endIndex则到字符串结尾。
  2. split(Pattern pattern):在pattern处开始拆分字符串,并且返回子字符串列表。

大小写切换

  1. toLowerCase(): 将此字符串全切换成小写
  2. toUpperCase():将此字符串全切换成大写

裁剪空字符串

  1. trim(),返回没有任何前导和尾随空格的字符串
  2. trimLeft(),返回没有任何前导空格的字符串
  3. trimRight(),返回没有任何尾随空格的字符串
  4. isEmpty(),判断当前字符串是否为空

字符串替换

  1. replaceAll(Pattern pattern ,String replace ), 使用replace替换所有匹配的子字符串 。 (PS 字符串是不可改变的对象,所以获得字符串是重新的创建的对象)

构建字符串

StringBuffer 是一个串联字符串的类,允许使用write*()来增加构建字符串,只有调用toString()的时候才会创建新的String对象。

  1. claer() 清楚字符缓冲空间
  2. write(Object object):将以转换为字符串的obj的内容添加到缓冲区
  3. 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

  1. decodeFull(String uri ) : uri适用百分比编码对字符串进行编码,使其可以安全用作完整的URI
  2. encodeFull(String uri): 解码uri中的百分比编码

编码解码URI组件

encodeComponent(String component) :使用百分比组件对字符串component进行编码,使其可以安全用作URI组件;
decodecomponent(String encodedComponent):解码 中的百分比编码
####构建URIs
parse(String uri,[int start =0,int end])
Uri的工厂方法。

时间和日期

  1. DateTime(…),根据本地市区来构建一个datetime实例
  2. DateTime.now(),使用本地市区当前时间来构建一个datatime的实例
  3. DateTime.utc(…)使用UTC来构建一个datetime的实例
  4. tryParse(String formattedString ):解析formattedString来构建一个DateTime的实例

数学库

import ‘dart:math’;

  1. Max(T a , T b); 输出两个数中大数
  2. min (Ta , Tb); 输出两个数中小数
  3. sqrt(num x): 将x转为double类并输出正平方根
  4. Random([int send]) 随机生成一个整数 可选speed参数用于初始化生成器内部状态
  5. nextBool() 随机生成一个布尔值
  6. nextDouble() 生成一个非负的浮点数范围【0,1)
  7. nexInt(int max) 生成一个非负的随机整数

转换库

import ‘dart:covnert’

编码和解码Json

  1. jsonEncode(Objectvalue, {ObjecttoEncodAble(ObjectnonEncodable)}):将值转为json字符串,如果包含无法直接编码为JSON的对象,可以调用toEncodAble的函数,让其转为可编码对象。
  2. JsonDecode(String source,{Object reviver(Objectkey,Object value)}):解析字符串并返回生成的JSON对象,对于在解码过程中已经解析的每个对象或者列表属性,都会调用一次可选的reviver函数。key是列表属性的索引
  3. encode(String input):将字符串转为UTF-8编码的字节列表
  4. decode(ListcodeUnits,{bool allowMalformed}):将UTF-8 单元解码成相应的字符串。

输入和输出的库

import “dart:io”
通过I/O库可以读取和写入文件及浏览目录。有两种选择来读取文件内容,如果文件小 可以采用“全部读取”;如果文件比较大则可以选择“流式读取”。文件通常的构造函数和方法:

  1. File(String path):从String路径创建一个file对象
  2. File.fromUri(Uri uri):从URI创建一个file对象
  3. openRead([int start ,int end]):为此内容创建一个新的独立的Stream,start为指定的开始偏移字节数,end为指定的结尾位置
  4. openWrite({FileMode mode:FileMode.write,Enciding encoding:utf8}):为该文件创建一个新的独立的IOSink,当不使用时必须关闭,FileMode.write将初始写入位置设置为开头,FileMode.append,将初始写入位置设置成结尾
  5. readAsString({Encoding encoding:utf-8}):给指定的encoding,以字符串的形式来读取文件
  6. readAsLines({Encoding encoding:utf-8}) 使用给定的Encoding以行来读取文件,返回一个Future
  7. readByBites()以字节列表形式读取文件
写入文件内容
  1. IOSink(StreamConsumertarget,{Ecoding encoding:utf8}):构造函数创建一个IOSink对象,StrreamConsumer是一个接受多个完成流的接收器的抽象接口
  2. add:将字节流添加到目标使用者
  3. close():关闭目标使用者
  4. flush():返回一个future,一旦基础的streamConsumer接受了所有的缓冲数据该Future将会完成。
  5. write(Object obj):将obj转换为String,并将结果的编码添加到目标使用者
  6. writeAll(Iterable objects,[String separator =“”]):遍历指定的objects并将其按照顺序写入,separator为写入时的分隔符
列出目录中的文件
  1. Directory(String path):构造函数,创建一个directory对象
  2. list({bool recursive:false,bool followLinks:ture}):列出此目录的子目录和文件的可选参数recursive表示递归到子目录。返回用于目录、文件和链接的FileSystemEntity对象流

你可能感兴趣的:(flutter,dart,dart)