喵个咪的博客喵个咪的博客
喵个咪的技术与生活
文章列表
文章分类
文章标签
时间线
喵个咪的技术与生活
文章列表
文章分类
文章标签
时间线
健康养生 1fastapi 1随笔日志 1产品设计 1ASIO 2cron 1rclone 1flutter 1RxDart 1Make 2CMake 2Ninja 1设计模式 2Cache Aside Pattern 1缓存设计模式 1汽车 1go 2CDC 1PostgreSQL 6Centos 1docker 1CLion 1云手机 1GoogleTest 1Cococs2dx 1Cocos Creator 1代码注释 1IDE 3Python 4TRC20 1C++ 8类型转换 1CQRS 1Kafka Streams 1Bazel 2Docker 21Go 6crontab 1客户留存率 1EFK 1RustDesk 1Jitsi Meet 1Traefik 1Swagger 1Docker Hub 1VIM 1Word 1VBA 1Doris 1量化交易 2Flutter 13Widget 1Ent 2SQL 2Excel 2配色 1TypeScript 3C# 1Sealed Class 2微信小程序 1人脸识别 2RK3588S 1Android Studio 1iOS 1GetX 1鸿蒙 1字体渲染 1期货 1Futures 1地理围栏 1GEO 1Git 2Golang 99Go-Kratos 86GoWind 41UBA 1算法 5WebRTC 2MongoDB 1Headless CMS 1WASM 1随机种子 1MacOS 3Ubuntu 2GCC 1Godot 1Clang 1Superset 1CentOS 1OpenCV 1咖啡 1Android 1Google Play 1Unity WebGL 1Dexie 1IndexedDB 1htop 1IM 1Postgresql 1Mattermost 1Qt 4TL;DR 1Swift 1Javascript 2JetBrains 1Typescript 1libuv 1Linux 1本地化 1国际化 1状态同步 1帧同步 1泡泡水 1Markdown 1机器学习 1QTT 1MQTT 2MSB 1LSB 1npm 1pnpm 1yarn 1OCR 1OHLC 1OLTP 1OLAP 1OpenAI 1OpenAPI 1数织 1Ping 1人体姿态识别 1全文搜索 1交叉表 1Prometheus 1Protobuf 2Docx 1QUIC 1Reactor 1Redis 1REST 1CoTURN 2RBAC 1Selenium 1基准测试 1Spine 1股票 1Roguelike 2ThingsBoard 3时间戳 1时序数据库 3交易所 1Unity 2用户画像 1PgBouncer 1Vite 1Vue 1WebGL 1加权随机 1BI 1数据血缘 1Roguelite 1Protocol 1WiFi 1WSL 3Windows 4
Flutter使用Sealed Class让状态类更强大

Date: 1/1/2020Category: Flutter编程Tag: Flutter, Sealed Class

记得之前在写Kotlin的时候,对于Kotlin所提供的Sealed Class的功能感到惊喜,我还给Sealed Class封上了enum 2.0的称号,它拥有Class的特性,可以将状态封装起来,使用when语法的时候,还可以详尽列出所有的子项,而在Flutter当中,其实也有sealed class可以用,在Dart 3.0中,也已经将sealed class加入到了Dart的武器库。

enum

假如,我们现在要实现一个 收音机 功能,我们可以使用enum声明其状态,代码如下:

探索 Flutter 中的 Sealed Class

Date: 1/1/2020Category: Flutter编程Tag: Flutter, Sealed Class

Dart 3 在 Flutter 中引入了 密封类(Sealed Class)。如果您来自于类似 Kotlin 这样的现代编程语言,您可能已经知道它们有多么强大。如果没有,在本文结束时您将了解到关于密封类的全部内容。

密封类(Sealed Class)是一项强大的功能,使开发人员能够创建受限制的类层次结构。与常规类不同,密封类只能在同一文件中扩展,这使得它们成为表示有限相关类集的绝佳选择。

了解密封类