目录 简介 Non-nullable类型 Nullable List Of Strings 和 List Of Nullable Strings !操作符 late关键字 总结 简介 在Dart 2.12中引入了null safety的新特性,也就是说dart程序中默认类型都是非空的,除非你显示告诉编译器,这个类型可以为空. 看起来是一个小小的改动,但是这个小小的改动导致了很多Dart包的大版本升级,从而导致使用Dart2.12之前的版本跟使用dart2.12之后的版本完全就是两个不同的世界.…
目录 简介 dart:html中的WebSockets 创建一个WebSocket WebSocket的状态 发送消息 处理WebSocket事件 总结 简介 web客户端和服务器端通信有两种方式,一种是使用HTTP请求,从服务器端请求数据.这种请求的缺点就是只能客户端拉取服务器端的数据,只能进行轮询. 另外一种方式是使用WebSocket,在客户端和服务器端之间建立通道,这样服务器就可以直接向客户端推送消息,避免了客户端频繁的拉取服务器端的数据,造成服务器端的压力. dart:html包中就包…
dart系列之:dart语言中的特殊操作符 目录 简介 普通操作符 类型测试操作符 条件运算符 级联符号 类中的自定义操作符 总结 简介 有运算就有操作符,dart中除了普通的算术运算的操作符之外,还有自定义的非常特殊的操作符,今天带大家一起来探索一下dart中的特殊操作符. 普通操作符 普通操作符就很好解释了,就是加减乘除,逻辑运算符,比较运算符和位运算符等. 这些操作符和其他语言的操作符没什么差别,这里就不详细介绍了.大家看几个普通操作符的例子: a++ a + b a = b a == b…
目录 简介 dart中的变量 定义变量 变量的默认值 Late变量 常量 总结 简介 flutter是google在2015年dart开发者峰会上推出的一种开源的移动UI构建框架,使用flutter可以非常方便的编译成运行在原始android,ios,web等移动平台上的移动应用. flutter是使用dart来编写的,最新的flutter版本是2.5.3,而最新的Dart语言版本是2.14. 本系列将会深入谈谈dart语言的用法和最佳实践,希望大家能够喜欢. dart中的变量 Dart语言吸取…
目录 简介 传统的构造函数 命名构造函数 构造函数的执行顺序 重定向构造函数 Constant构造函数 工厂构造函数 总结 简介 dart作为一种面向对象的语言,class是必不可少的.dart中所有的class,除了Null都继承自Object class. 要想使用dart中的类就要构造类的实例,在dart中,一个类的构造函数有两种方式,一起来看看吧. 传统的构造函数 和JAVA一样,dart中可以使用和class名称相同的函数作为其构造函数,这也是很多编程语言中首先的构造函数的创建方式,我…
目录 简介 数字 字符串 StringBuffer 总结 简介 要想熟悉一种语言,最简单的做法就是熟悉dart提供的各种核心库.dart为我们提供了包括dart:core,dart:async,dart:math,dart:convert,dart:html和dart:io这几种常用的库. 今天给大家介绍一下dart:core中的数字和字符串的使用. 数字 dart:core中定义了三种类型的数字,分别是num,int和double. num是所有数字的总称.int和double都是继承自num…
目录 简介 pubspec.yaml get packages 使用packages 升级依赖 总结 简介 java中使用jar包来封装有用的功能,然后将其分发到maven仓库中,供其他人使用.同样的在dart中也有类似的概念叫做packages.packages就是可以用来共享的软件包,可以包含libraries和tools. 你可以在pub.dev网站中查到dart中所有的共享packages的信息. 那么怎么在一个dart项目中使用这些packages呢? pubspec.yaml 简单点…
目录 简介 pubspec.yaml支持的字段 一个例子 字段详情 总结 简介 pubspec.yaml是所有dart项目的灵魂,它包含了所有dart项目的依赖信息和其他元信息,所以pubspec.yaml就是dart项目的meta! pubspec.yaml支持的字段 根据dart的定义,pubspec.yaml中可以包含下面的字段: 字段名 是否必须字段 描述 name 是 package的名字 version 如果发布到pub.dev,则需要 package的版本号 description…
目录 简介 dart中的隔离机制 生成一个Isolate Isolate之间的交互 一个例子 总结 简介 之前介绍了很多dart中的异步编程技巧,不知道大家有没有发现一个问题,如果是在java的异步编程中,肯定会提到锁和并发机制,但是对于dart来说,好像从来没有听到多线程和并发的问题,这是为什么呢? 今天,给大家讲解一下dart中的隔离机制,大家就明白了. dart中的隔离机制 dart是一个单线程的语言,但是作为一个单线程的语言,dart却支持Future,Stream等异步特性.这一切都是…
目录 简介 不需要初始化对象为null null的三元操作符 如果在使用中需要判断类型是否为空,则不要使用late 本地变量的类型提升 总结 简介 null可能是大家在编写程序中最为头疼的一个东西,稍不留意的情况下就有可能使用到了这个空字符.所以dart在2.12引入了nll safety,默认情况下强制所有的类型都不为null,只有在你认为它可以为null的时候才可以设置为null. 虽然有了null safety,但是这里还有一些我们需要考虑的null的最佳实践. 不需要初始化对象为null…