dart专题

dart 中的 泛型 怎么写??

import 'package:flutterdemo/bean/MyUser.dart';class BaseResp<T> {int code;String str;T data;BaseResp({this.code, this.str, this.data});BaseResp.fromJson(Map<String, dynamic> jsonStr) {code = jsonStr['

dart 单例

在Dart中,如果你想要在类一创建时就运行的函数,你可以将这个函数放在类的构造函数中。对于单例模式,构造函数是私有的,所以你需要在类的内部调用这个函数。 //创建时 没有 需要运行函数的class ChoosePrizeController extends ChangeNotifier {// 静态私有成员,持有类的唯一实例static final ChoosePrizeController

初探 Dart 语法 01

欢迎来到 Dart 编程的世界,最开始将通过初探 Dart 的基本语法;让你对 Dart 整个语法体系轮廓、Dart 的编程有个大概了解,然后再深入到具体每个语法点细节和使用场景。由于文章篇幅的问题,初探 Dart 语法主要分为上下两篇来介绍。 1. Hello Dart 这是第一个 Hello Dart 程序,很多程序入口都是从 main 函数开始,所以 Dart 也不例外,一起来看下百变的

初探 Dart 语法 02

本篇文章上接初探 Dart 语法上篇,主要涉及一些 Dart 中的运算符、异常、函数、面向对象等。 1. 运算符 1.1 算术运算符 名称运算符例子加+var result = 1 + 1;减-var result = 5 - 1;乘*var result = 3 * 5;除/var result = 3 / 5; //0.6整除~/var result = 3 ~/ 5; //0取余%va

掌握 Dart 集合的使用

我们将继续 Dart 语法的集合,虽然集合在第一篇中已经介绍的差不多,但是在这篇文章中将会更加全面介绍有关 Dart 中的集合,因为之前只是介绍了 dart:core 包中的 List、Set、Map,实际上在 Dart 中还提供一个非常丰富的 dart:collection 包,接下来将会一一介绍。 1. List 在 Dart 中的 List 集合是具有长度的可索引对象集合。 初始化

深入分析 Dart 集合源码

本篇文章将继续 Dart 中集合,不过本篇文章将会深入 Dart 集合源码分析。看过集合源码小伙伴都知道 dart:core 包中的集合实际上是委托到 dart:collection 包中实现的,所以下面我也会从源码的角度去把两者联系起来。当然这里也只会选择几个常用的集合作为介绍。 1. List 在 Dart 中 List 集合,它没有委托 dart:collection 包中集合实现,完全

掌握 Dart 集合操作符函数使用

在上一篇文章中,我们全面地分析了常用集合的使用以及集合部分源码的分析。那么这一节讲点更实用的内容,绝对可以提高你的 Flutter 开发效率的函数,那就是集合中常用的操作符函数。这次说的内容的比较简单就是怎么用,以及源码内部是怎么实现的。 1. Iterable<E> 在 Dart 中几乎所有集合拥有的操作符函数(例如:map、every、where、reduce 等)都是因为继承或者实现了

深入分析 Dart 集合操作符源码

上篇文章我们详细介绍了有关 Dart 集合操作符函数的基本使用,那么这篇文章将会从源码角度,分析其内部原理。通过它你将会理解什么是惰性迭代器。 1. forEach 函数源码解析 void forEach(void f(E element)) {//可以看到在 forEach 内部实际上就是利用 for-in 迭代,每迭代一次就执行一次 f 函数,//并把当前 element 回调出去fo

掌握 Dart 的面向对象基础

我们知道在 Dart 中一切都是对象,所以面向对象在 Dart 开发中是非常重要的。此外它还和其他有点不一样的地方,比如多继承 mixin、构造器不能被重载、setter 和 getter 的访问器函数等。 1. 属性访问器(accessor)函数 setter 和 getter 在 Dart 类的属性中有一种为了方便访问它的值特殊函数,那就是 setter、getter 属性访问器函数。

深入理解 Dart 中的类型系统和泛型

Dart 中的类型系统不够严格,这当然和它的历史原因有关。在 Dart 最开始诞生之初,它的定位是一门像 JavaScript 一样的动态语言,动态语言的类型系统是比较松散的,所以在 Dart 类型也是可选的。然后动态语言类型系统松散对开发者并不是一件好事,程序逻辑一旦复杂,松散的类型可能就变得混乱,分析起来非常痛苦,但是有静态类型检查可以在编译的时候就快速定位问题所在。 其实,Dart 类型系

Dart【06】generator生成器函数

什么是生成器函数 Dart生成器函数 (generator) 可以渐进的返回一个值的序列。 Dart内置了两种生成器函数的支持: 同步生成器(sync*):返回一个Iterable对象。 异步生成器(async*):返回一个Stream对象。 同步生成器 使用同步生成器修饰的函数返回的是迭代器Iterable Iterable主要使用iterator的两个方法moveNext(),

中文分词系列(一) 双数组Tire树(DART)详解

双数组Tire树是Tire树的升级版,Tire取自英文Retrieval中的一部分,即检索树,又称作字典树或者键树。下面简单介绍一下Tire树。 1.1 Tire树 Trie是一种高效的索引方法,它实际上是一种确定有限自动机(DFA),在树的结构中,每一个结点对应一个DFA状态,每一个从父结点指向子结点(有向)标记的边对应一个DFA转换。遍历从根结点开始,然后从head到tail,由关

dart 基本语法

//入口方法 main() 或 void main() //数据类型 原生数据类型 String int double bool null 注意:String 包函 ‘’ “” ‘’’ ‘’’ 三种形式复杂数据类型 list Set Map自定义数据类型 class inheritance动态数据类型 var 注:dart 是静态类型语言,但同时也是动态语言 //运算符 算术运算符:+, -

[flutter]一键将YAPI生成的api.json文件转为需要的Dart Model类的脚本

目的: 根据YAPI接口平台生成的api.json接口文件,将接口数据转化为model类,生成对应的接口值类型文件。 发现: api.json文件导出: YAPi是一个接口管理平台,登录账号打开项目后,在点击数据管理菜单,右侧导出按钮可以将接口数据全部导出在一份api.json文件中。 api.json文件分析: res_body与res_body_other的json解码后格

Flutter基础 -- Dart 语言 -- 进阶使用

目录 1. 泛型 generics 1.1 泛型使用 1.2 泛型函数 1.3 构造函数泛型 1.4 泛型限制 2. 异步 async 2.1 异步回调 then 2.2 异步等待 await 2.3 异步返回值 3. 生成器 generate (了解) 3.1 同步生成器 sync* 使用 sync* 的场景 总结 3.2 异步生成器 async* 使用 Strea

Flutter基础 -- Dart 语言 -- 类抽象接口继承函数库

目录 1. 类 class 1.1 定义、使用类 1.2 构造函数 1.3 初始化列表 1.4 命名构造函数 1.5 重定向构造函数 1.6 callable 2. 类 get set 2.1 定义、使用 get set 2.2 简化 get set 2.3 业务场景 3. 静态 static 3.1 static 定义 3.2 函数内部访问 3.3 静态方法 3.

Dart 单例

工厂构造 Factory constructor class Singleton{Singleton._privateConstructor(){//todo 私有构造方法}static final Singleton _instance = Singleton._privateConstructor();factory Singleton(){return _instance;}}void m

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Bad state: No element

在调用List.first 时报出该异常 看一下List 中get first方法的源码: /*** Returns the first element.** Throws a [StateError] if `this` is empty.* Otherwise returns the first element in the iteration order,* equivalent to

Flutter Dart语法学习

开发FlutterApp之前我们肯定要先了解Dart这门语言及语言的特性、语法等。最近看了大量的 Dart语言相关内容,本章会来简述。 目录 概念及优点变量函数闭包异步支持 概念及优点: Dart: Google及全球的其他开发者,使用 Dart 开发了一系列高质量、 关键的 iOS、Android 和 web 应用。 Dart 非常适合移动和 web 应用的开发。 1.高效 Da

vue-element-template优化升级dart-sass、pnpm

1、替换 node-sass 为 dart-sass - "node-sass": "^4.9.0",+ "sass": "^1.75.0", 2、替换npm为pnpm,需要补充一些依赖,否则打包会报错 {"private": true,"dependencies": {"qs": "6.5.3",},"devDependencies": {"core-js": "2.6.12","vu

Flutter笔记:手动配置VSCode中Dart代码自动格式化

Flutter笔记 手动配置VSCode中Dart代码自动格式化 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484@163.com. Shenzhen ChinaAddres

Flutter开发Dart中的队列(Queue)

文章目录 Dart中的队列(Queue)基本操作示例队列的类型队列的应用总结 Dart中的队列(Queue) 队列是一种抽象的数据结构,遵循“先进先出”(FIFO)的原则。这意味着最早添加的元素将首先被移除。队列通常用于需要按顺序处理一组元素的情况,例如任务调度或缓冲数据。 基本操作 Dart 提供了 dart:collection 库中的 Queue 类来实现队列。该类

Flutter学习:Dart语言

变量 var 可声明任何类型的变量,但首次赋值后类型即确定dynamic 可声明任何类型的变量,且可以在后期改变类型。Object 是Dart所有对象的根基类,但只能使用Object的属性与方法,比如:Object定义为string,但想访问只能自己设定get方法 Object x = "hi world";// The getter 'length' is not defined for

Dart知识(下)

Dart面向对象编程 面向对象编程(OOP)的三个基本特征是:封装、继承、多态。 封装:封装是对象和类概念的主要特性。封装,把客观事物封装成抽象的类,并且把自己的部分属性和方法提供给其他对象调用, 而一部分属性和方法则隐藏。 继承:面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 多

dart-sdk 安装以及vscode开发工具安装dart

1.安装dart-sdk 官方文档::Dart 编程语言主页 | Dart 中文文档 | Dart 里面是命令行安装。 也可以使用安装包安装: 地址:https://www.gekorm.com/dart-windows/ 2.测试dart-sdk 安装成功与否 打开cmd ,输入  dart --version 如果安装成功了则会出现版本;1.当然也可能出现找不到指令解决