随笔分类 - Dart
摘要:一、在空安全推出之前,静态类型系统允许所有类型的表达式中的每一处都可以有 null。 从类型理论的角度来说,Null 类型被看作是所有类型的子类; 类型会定义一些操作对象,包括 getters、setters、方法和操作符,在表达式中使用。 如果是 List 类型,您可以对其调用 .add() 或
阅读全文
摘要:均表示不可被修改 相同点 1、final、const必须初始化 2、 final、const只能赋值一次 ##不同点 1、 final可修饰实例变量、const不可以修饰实例变量 2、访问类中const修饰的变量需要static修饰 3、const修饰的List集合任意索引不可修改,final修饰的
阅读全文
摘要:一、Flutter 的声明式视图开发 在原生系统(Android、iOS)或原生JavaScript 开发的话,应该知道视图开发是命令式的,需要精确地告诉操作系统或浏览器用何种方式去做事情。 比如,如果我们想要变更界面的某个文案,则需要找到具体的文本控件并调用它的控件方法命令,才能完成文字变更。 /
阅读全文
摘要:用Android Studio如何创建纯Dart工程???这个问题目前网上没有答案。 尝试之后,总结如下: 首先,先确定Android Studio 已经安装了Dart插件; 然后: 第一步,创建一个文件夹 mkdir dart_learn 第二步,创建一个文件,以.dart结尾 touch hel
阅读全文
摘要:JIT:Just In Time AOT:Ahead of Time 含义: 目前,程序主要有两种运行方式:静态编译与动态解释。 静态编译的程序在执行前全部被翻译为机器码,通常将这种类型称为AOT (Ahead of time compiler)即 “提前编译”;如C、C++。 判断标准是:程序执行
阅读全文
摘要:Waiting for another flutter command to release the startup lock… 异常解决 平时我们在开发flutter过程中,在执行flutter packages get 命令 或者 flutter packages upgrade之后, 经常遇到
阅读全文
摘要:Dart类Getters和Setter Getters和Setter(也称为访问器和更改器)允许程序分别初始化和检索类字段的值。 使用get关键字定义getter或访问器。Setter或存取器是使用set关键字定义的。 默认的getter/setter与每个类相关联。 但是,可以通过显式定义sett
阅读全文
摘要:Dart函数方法可分为两类:一、内置方法/函数: print(); 二、自定义方法: 自定义方法的基本格式: 返回类型 方法名称(参数1,参数2,...){ 方法体 return 返回值; } void printInfo(){ print('我是一个自定义方法'); } int getNum(){
阅读全文
摘要:什么是泛型?通俗理解:泛型就是解决 类 接口 方法的复用性、以及对不特定数据类型的支持(类型校验)如下代码,只能返回string类型的数据 String getData(String value){ return value; } 如下代码,同时支持返回 string类型 和int类型 。但是这么些
阅读全文
摘要:Mixins Mixins(混入功能)相当于多继承,也就是说可以继承多个类,使用with关键字来实现Mixins的功能。 那么多个类中有相同的方法时候,会被覆盖吗?覆盖的先后是什么? class A{ void a(){ print("A.a()..."); } } class B{ void a(
阅读全文
摘要:Dart作为一种高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式。 基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承。 所有的类都有同一个基类Object,这和特性类似于Java、Objective-C 等语言,Java所有的类也都是继承自Objec
阅读全文
摘要:异常是表示发生了意外的错误,如果没有捕获异常,引发异常的隔离程序将被挂起,并且程序将被终止; Dart代码可以抛出并捕获异常,但与java相反,Dart的所有异常都是未检查的异常,方法不声明它们可能抛出哪些异常,也不需要捕获任何异常; Dart提供了异常和错误类型以及许多预定义的子类型,当然,也可以
阅读全文
摘要:一、条件语句:if、if...elseif、if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if (80>=score && score<90) { print('良'); } else if (60>
阅读全文
摘要:一、运算符及其描述 二、Dart运算符注意点 1. 除法运算符"/" 和 整除运算法"~/" 的区别 除法运算符 "/" 结果是浮点型 整除运算法 "~/" 结果是整型,并且是舍去小数部分。 如下面代码: int a = 9; int b = 2; print(a / b); print(a ~/
阅读全文
摘要:dynamic 表示是动态的,数据类型是指任意类型 var a; a = 10; a = "Dart"; print(a); dynamic b = 20; b = "JavaScript"; print(b); print(b.runtimeType); var list = new List<d
阅读全文
摘要:映射(Maps)是无序的键值对: 常用属性: keys 获取所有的key值 values 获取所有的value值 isEmpty 是否为空 isNotEmpty 是否不为空 常用方法: remove(key) 删除指定key的数据 addAll({...}) 合并映射 给映射内增加属性 contai
阅读全文
摘要:List里面常用的属性和方法: 常用属性: length 长度 reversed 翻转 isEmpty 是否为空 isNotEmpty 是否不为空 常用方法: add 增加 addAll 拼接数组 indexOf 查找 传入具体值 remove 删除 传入具体值 removeAt 删除 传入索引值
阅读全文
摘要:Dart Bool类型和其他语言类似,比较简单 其特点有: 1.使用 bool 表示布尔类型 2.布尔值只有 true 和 false 3.布尔类型bool默认值是null bool isTrue = true; bool isFalse = false; bool defaultBool ; pr
阅读全文
摘要:一、字符串的创建 使用 单引号,双引号 创建字符串 使用 三个引号或双引号 创建多行字符串 使用 r 创建原始 raw 字符串 String str1 = 'Hello';//"" String str2 = '''Hello Dart''';//""" print(str1); print(str
阅读全文
摘要:一、类型 数值型有 num,int, double num a = 10; a = 12.5; print(a); print(a.runtimeType); int b = 20; // b = 20.5; print(b); print(b.runtimeType); double c = 10
阅读全文