Dart 13-Day
泛型
- 泛型就是解决 类 接口 方法的复用性、以及对不特定数据类型的支持(类型校验)
泛型方法
// 同时支持返回 string类型 和int类型 (代码冗余)String getData1(String value) {return value;
}int getData2(int value) {return value;
}// 同时返回 string类型 和 number类型 不指定类型可以解决这个问题getData(value) {return value;
}
- 使用泛型解决复用问题
// 方式一
T getData<T>(T value) {return value;
}// 方式二
getData<T>(T value) {return value;
}void main() {getData<String>('你好');print(getData<int>(12));
}
泛型类
class PrintClass<T> {List list = new List<T>();void add(T value) {this.list.add(value);}void printInfo() {for (var i = 0; i < this.list.length; i++) {print(this.list[i]);}}
}void main() {PrintClass p = new PrintClass<int>();p.add(12);p.add(23);p.printInfo();// List list=new List<String>(); // List也可以指定类型的// List list=new List<int>();
}
泛型接口
// 定义一个抽象类
abstract class Cache<T> {getByKey(String key);void setByKey(String key, T value);
}class FlieCache<T> implements Cache<T> {@overridegetByKey(String key) {return null;}@overridevoid setByKey(String key, T value) {print("我是文件缓存 把key=${key} value=${value}的数据写入到了文件中");}
}class MemoryCache<T> implements Cache<T> {@overridegetByKey(String key) {return null;}@overridevoid setByKey(String key, T value) {print("我是内存缓存 把key=${key} value=${value} -写入到了内存中");}
}void main() {MemoryCache m = new MemoryCache<Map>();m.setByKey('index', {"name": "张三", "age": 20});
}
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.https://serious-lose.notion.site/Dart-13-Day-2ce3513871cd4b99935dd061fea1392a
Dart 13-Day相关推荐
- Dart(13)-factory
一.factory描述 当使用factory修饰一个构造器时,DartVM不会总是创建一个新的对象,而是返回一个在内存中已经存在的对象.比如它可能会从缓存中返回一个已有的实例,或者是返回子类的实例. ...
- MobileNeXt: Rethinking Bottleneck Structure for Efficient Mobile Network Design
论文地址: 摘要:倒残差块是目前移动网络体系结构设计的主流.它通过引入两条设计规则来改变经典的残差块:(1)引入线性瓶颈结构(去掉低纬度输出层后面的非线性激活层,目的是保证模型的的表达能力).(2)反 ...
- mahout安装测试
Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序.Apa ...
- Dart 语言不如 Kotlin?这里列了 13 个原因
[CSDN 编者按]同受 Google 支持,一个是其官方开发的语言--Dart,一个被扶持为 Android 开发的官方语言--Kotlin.放在一起看,Kotlin 对比 Dart 的优越性远不止 ...
- iOS代码质量要求_苹果发布 iOS amp; iPadOS 13.1 beta 4 版本;Dart 2.5正式公布;SwiftUI View的生命周期...
2019-09-19 由于文章内链接无法直接跳转,可点击左下方"阅读原文"查看相关链接 关键词:Dart 2.5.CTR 苹果发布 iOS & iPadOS 13.1 be ...
- Dart 2.13 版现已发布
作者 / Kevin Moore & Michael Thomsen Dart 2.13 版现已发布,其中新增了类型别名功能,这是目前用户呼声第二高的语言功能.Dart 2.13 还改进了 D ...
- flutter开发中常用的dart插件
flutter插件官网地址:https://pub.dartlang.org/packages/ 1. image_picker 一个可以从图库选择图片,并可以用相机拍摄新照片的flutter插件 2 ...
- 用Flutter + Dart快速构建一款绝美移动App
作者 | Wojciech Kuroczycki 译者 | 弯月 来源 | CSDN(ID:CSDNnews) 如今,与前端或移动相关的新框架层出不穷.所有从事Web开发的人都应该熟悉各种目不暇接的新 ...
- Flutter学习之Dart语法特性
一.前言 第一天把Flutter环境搭建了,并简单实现第运行第一个Flutter项目,感觉很不错,一些基本操作和原生体验差不多.用Flutter框架写过App项目的开发者都知道,Flutter是一个使 ...
- Dart Way 1
缘起 Dart 可以同时在 Mobile/Web/Server 三端跑,很像 nodejs,不过没有 nodejs 那么好命 需要一个可以打通 Mobile.Web 的 tk,又不想用 RN的,可以跟 ...
最新文章
- DGL RDKit|基于GCN与基于3D描述符的分子溶解度预测模型对比
- 小老板,我学的计算机组成原理告诉我半导体存储器都是断电后丢失的,为什么U盘SSD(固态硬盘)没事呢?
- HDU 1754线段树
- .NET 6 新特性 WaitAsync
- 基于CSMA -CA协议的无线星型网络的应用案例介绍
- Mybatis 入门之resultMap与resultType讲解实例
- localStorage使用总结,页面跳转,保存值
- python怎么用numpy_Python:一篇文章掌握Numpy的基本用法
- android 进程池 参数,Android 线程池全解析
- 大数据分析师高级证书_有大数据分析师资格证书吗?
- 计算机wifi怎么打不开,电脑的wifi打不开了怎么办
- 5个提供flickr高级图片搜索的网站
- 出圈!迅镭激光切割设备亮相热播剧《麓山之歌》
- vs code 简易使用教程(前端)
- Microsoft Edge浏览器上不了网,其他浏览器可以
- 转发文章【我们是怎样一步步的走向平庸的】
- python画樱花树教程_Python画樱花树❀
- windows下载Android系统源码
- 890-git安装教程github创建仓库
- OpenCV + CPP 系列(卅三)图像特征提取(Harris角点检测、Shi-Tomasi角点检测、自定义角点检测)
热门文章
- php递归简单例子,php递归json类实例
- php中提取现在的时间函数,php中时间函数date及常用的时间计算
- o oia ospf 路由优先_乾颐堂军哥HCIE课程4-OSPF的3、4、5类LSA以及虚连接和转发地址的理论与实践...
- ESDF建图库voxblox的安装编译过程
- Java基础---数组内容详解
- 2018前端学习总结
- ZOJ 3962 Seven Segment Display(数位DP)题解
- C++primer 9.3.3节练习
- Spark机器学习(3):保序回归算法
- android app启动过程