首页 > 其他分享 >Dart学习笔记:API

Dart学习笔记:API

时间:2024-12-23 23:42:46浏览次数:7  
标签:int Object 笔记 dart API bool Dart Future 构造函数

本文更新于2024-12-23,使用Dart 2.18.2。

目录

官方文档:https://api.dart.devhttps://api.dart.cn

dart:async 【异步库】

import 'dart:async';

Future<T> —— 异步计算结果

  • 构造函数

    Future(FutureOr\<T> computation())
    

    延迟计算:

    Future.delayed(Duration duration, [FutureOr\<T> computation()?])
    
  • 方法

    • then<R>(FutureOr<R> onValue(T value), {Function? one rror}) → Future<R>:注册计算完成后的回调。

FutureOr<T> —— 同步或异步的计算结果

可表示Future<T>T类型。

Stream<T> —— 流

  • 方法
    • join([String separator = ""]) → Future<String>:将流内容连接成字符串。

dart:convert 【数据转换库】

import 'dart:convert';

JsonCodec —— JSON编解码器

  • 方法
    • decode(String source, {Object? reviver(Object? key, Object? value)?}) → dynamic:解码。
    • encode(Object? value, {Object? toEncodable(dynamic object)?}) → String:编码。

Utf8Codec —— UTF-8编解码器

  • 属性
    • decoder → Utf8Decoder:解码器。
    • encoder → Utf8Encoder:编码器。

常量

json —— JSON编解码

utf8 —— UTF-8编解码

dart:core 【核心库】

自动导入。

DateTime —— 日期时间

  • 构造函数

    当前日期时间:

    DateTime.now()
    
  • 属性

    • day → int:日。
    • hour → int:时。
    • minute → int:分。
    • month → int:月。
    • second → int:秒。
    • year → int:年。
  • 方法

    • add(Duration duration) → DateTime:加。
    • subtract(Duration duration) → DateTime:减。

double —— 浮点数

64位。

  • 属性
    • isInfinite → bool:是否是正负无穷大。

Duration —— 时长

  • 构造函数
    Duration({int days = 0, int hours = 0, int minutes = 0, int seconds = 0, int milliseconds = 0, int microseconds = 0})
    

int —— 整数

64位。

  • 方法
    • toString() → String:转换成字符串。
  • 静态方法
    • parse(String source, {int? radix}) → int:从字符串解析整数。

List<E> —— 列表

  • 构造函数

    创建包含若干个元素的列表:

    List.generate(int length, E generator(int index), {bool growable = true})
    
  • 属性

    • length ↔ int:长度。
  • 方法

    • map<T>(T toElement(E e)) → Iterable<T>:对每个元素映射出新的元素。
  • 运算符

    • operator +(List<E> other) → List<E>:加。和另一个列表连接成一个新列表。

Map<K, V> —— 映射

  • 构造函数
    Map()
    
  • 属性
    • length → int:长度。
  • 方法
    • containsKey(Object? key) → bool:是否包含键。
    • remove(Object? key) → V?:删除键。

Object —— 对象

  • 属性
    • runtimeType → Type:运行时的对象类型。

Set<E> —— 集合

  • 属性
    • length → int:长度。
  • 方法
    • add(E value) → bool:添加元素。
    • addAll(Iterable<E> elements) → void:添加所有多个元素。
    • clear() → void:清空所有元素。
    • contains(Object? value) → bool:是否包含元素。
    • containsAll(Iterable<Object?> other) → bool:是否包含所有多个元素。
    • remove(Object? value) → bool:删除元素。
    • removeAll(Iterable<Object?> elements) → void:删除所有多个元素。

Uri —— URI地址

  • 静态方法
    • parse(String uri, [int start = 0, int? end]) → Uri:从字符串解析。

dart:developer 【开发库】

import 'dart:developer';

Timeline —— 时间线

  • 静态方法
    • finishSync() → void:结束同步。
    • startSync(String name, {Map? arguments, Flow? flow}) → void:开始同步。

dart:io 【I/O库】

import 'dart:io';

HttpClient —— HTTP客户端

  • 构造函数
    HttpClient({SecurityContext? context})
    
  • 方法
    • close({bool force = false}) → void:关闭。
    • getUrl(Uri url) → Future:以URL发送GET请求。

HttpClientRequest —— HTTP客户端请求

  • 属性
    • headers → HttpHeaders:请求头。
  • 方法
    • close() → Future<HttpClientResponse>:关闭请求,返回响应。

HttpClientResponse —— HTTP客户端响应

  • 方法
    • transform<S>(StreamTransformer<List<int>, S> streamTransformer) → Stream<S>:转换流。

HttpHeaders —— HTTP头

  • add(String name, Object value, {bool preserveHeaderCase = false}) → void:添加。

函数

sleep —— 睡眠

void sleep( Duration duration )

dart:math 【数学库】

import 'dart:math';

Random —— 随机数

  • 构造函数
    伪随机数:

    Random([int? seed])
    

    安全的随机数:

    Random.secure()
    
  • 方法

    • nextInt(int max) → int:返回[0, max)区间的随机整数。

dart:mirrors 【反射库】

import 'dart:mirrors';

LibraryDependencyMirror —— 库依赖反射

  • 方法
    • loadLibrary() → Future<LibraryMirror>:加载库。

标签:int,Object,笔记,dart,API,bool,Dart,Future,构造函数
From: https://www.cnblogs.com/garvenc/p/18625294/dart_learning_api

相关文章

  • 《LLM入门教程》大模型教程笔记1:环境配置(安装Anaconda、获取配置并测试OpenAI API key
    项目地址:llm-cookbook教程在线阅读:面向开发者的LLM入门教程文章目录环境配置一、安装Anaconda二、安装本书需要用到的python库三、获取并配置OpenAIAPIkey示例目录结构.envconfig.py运行结果解释`find_dotenv()`的查找机制示例说明配置`find_dotenv()`的参数`loa......
  • 《程序员修炼之道:从小工到专家》读书笔记——5
    有效沟通和团队协作成为一个技术专家,不仅需要技术能力的提升,还需要具备良好的沟通和团队协作能力。大多数项目都是团队合作的成果,专家程序员通常在团队中起到核心作用,通过有效沟通协调各方,推动项目的顺利进行。首先,专家程序员要具备良好的表达能力和沟通技巧。他们能够清晰地阐......
  • 《程序员修炼之道:从小工到专家》读书笔记——6
    代码审查与团队协作在软件开发过程中,代码审查是一项至关重要的活动。它不仅可以提高代码质量,发现潜在的错误,还能够促进团队成员之间的技术交流和学习。对于程序员来说,进行有效的代码审查,不仅是对自己代码的验证,也是提高整体团队技术水平的一种方式。专家程序员通常非常重视代码......
  • 《程序员修炼之道:从小工到专家》读书笔记——7
    追求卓越:技术深耕与广度扩展专家程序员不仅仅满足于掌握当前的技术栈,他们会不断深耕自己的技术领域,成为该领域的权威。与此同时,他们也会扩展自己的技术广度,了解多种技术,保持技术的多样性。无论是专注于某一领域,还是跨领域发展,专家程序员都要追求技术的卓越。在技术深耕方面,专家......
  • 《程序员修炼之道:从小工到专家》读书笔记——9
    生活平衡与职业规划程序员的职业生涯不仅仅是技术的不断突破,也需要有良好的生活平衡。长时间的高强度工作可能会导致疲劳、压力过大,甚至影响到身体健康。因此,专家程序员往往会更加注重工作与生活的平衡,保持身心健康,避免过度疲劳。在生活平衡方面,专家程序员通常会设定清晰的工作......
  • 《程序员修炼之道:从小工到专家》读书笔记——8
    领导力与影响力:从程序员到技术领导者程序员的职业发展不仅仅是技术水平的提高,很多时候,技术人员最终会走向管理岗位,成为技术团队的领导者。无论是在团队内部担任技术负责人,还是在公司中担任更高层次的技术管理岗位,领导力和影响力是专家程序员所必备的素质。作为技术领导者,专家程......
  • 《程序员修炼之道:从小工到专家》读书笔记——4
    培养良好的开发习惯成为专家程序员不仅仅依赖于技术能力,还需要养成良好的开发习惯。良好的开发习惯不仅能提高开发效率,还能保证代码质量,减少错误发生的可能性。专家程序员通常在开发过程中保持高度的规范性和系统性,遵循最佳实践,不断优化自己的开发流程。首先,专家程序员在编码时......
  • 《程序员修炼之道:从小工到专家》读书笔记——1
    从小工到专家的心态程序员从“小工”到“专家”的转变,不仅是技术的提升,更重要的是心态的转变。许多程序员一开始进入职场时,通常会把自己当作执行任务的“小工”,仅仅关注如何按时完成工作,尽力避免错误。然而,专家程序员的心态要远远高于此,他们不仅仅是任务的执行者,更是解决问题的思......
  • 金名的STM32F407标准库开发笔记(二)--点亮一个LED
    金名的STM32F407单片机标准库开发(二)–点亮LED灯​在金名的STM32F407单片机标准库开发(一)中我们编写了一段代码,相信即使是C语言大佬,初次看到这段代码也会很迷茫,无法理解这段代码的含义。确实,STM32单片机的代码,尤其是涉及到硬件操作的部分,对于初学者来说可能会显得有些复杂......
  • 《程序员修炼之道:从小工到专家》读书笔记——2
    掌握编程的基本技能成为专家程序员的最基本要求就是精通编程,而精通编程不仅仅是会写代码,写出能够运行的代码就能称为程序员,但要成为专家程序员,则需要具备更高的编程能力和深度。掌握编程的基本技能意味着程序员要精通至少一种编程语言、掌握常见的开发工具、理解数据结构与算法,并......