Dart基础笔记

代码地址

以下只记了一部分我觉得有必要记的内容

一、常量与变量

运算符:~/  取整

常用属性:isNaN(是否是非数字)、isEven(是否是偶数)、isOdd(是否是奇数)

常用方法:abs()(取绝对值)、round()(四舍五入)、floor()(大于它的最小整数)、ceil()(小于它的最大整数)、toInt()(变成整型)、toDouble()(变成浮点型)

二、字符串

字符串创建:可以使用三个单引号或者三个双引号创建多行字符串、使用r创建raw原始的字符串

字符串操作:字符串也可以进行+ * == [],分别为字符串相加,乘以倍数,是否相等,取某个字符

插值表达式:${expression}

常用属性:length、isEmpty、isNotEmpty

常用方法:


Dart基础笔记_第1张图片

三、布尔型

表示:bool

四、List

List中的元素可以是有不同的类型

创建List :var list=[1,2,3];

创建不可变得List:var list = const[1,2,3]

构造创建:var list=new List();//在dart2 中已经去掉了new关键字


Dart基础笔记_第2张图片

sort排序:根据hashcode值排序

sublist:获取子列表

五、Map

创建map:var user={"name":"zoey","age":18}

创建不可变的map:var user=const {"name":"zoey","age":18}

构造创建var user=new Map();

var map1={"first":"dart",1:true};//key还可以不是字符串??


Dart基础笔记_第3张图片

六、dynamic

可以理解为泛型

七、关系运算符

判断内容是否相同使用==,而在java中==表示的是判断两个引用是否相等,判断内容相当用的是equals

八、赋值运算符

基础运算符:=、??=

九、条件表达式

三目运算符;

??运算符:expr1??expr2: 如果expr1表达式的值为空,则使用第二个表达式的值,如果不为空,则使用第一个表达式的值;

十、循环语句

for循环;

for...in循环

十一、可选参数

可选命名参数:{param1,param2,...}

可选位置参数:[param1,param2,...]

//可选参数必须在必选参数后面

void main() {

  //必填的参数不用写参数名,可选的参数必须要写参数名,而且可以跳过一些参数,不按顺序传,只要参数名对得上就可以了,这种方式用得比较多

  printPerson1("zoey");

  printPerson1("zoey", age: 20);

  printPerson1("zoey", age: 20, gender: "female");

  printPerson1("zoey", gender: "female",age: 20);

  printPerson1("zoey", gender: "female");

  print("-----------------------");

  //根据参数的位置,默认的进行传参,但不能跳过某个参数

  printPerson2("allen");

  printPerson2("allen", 20);

  printPerson2("allen", 20, "male");

}

//可选命名参数

printPerson1(String name, {int age, String gender}) {

  print("name=$name,age=$age,gender=$gender");

}

//可选位置参数

printPerson2(String name, [int age, String gender]) {

  print("name=$name,age=$age,gender=$gender");

}

十二、方法对象

方法可作为对象赋值给其他变量

方法可作为参数传递给其他方法

十三、匿名方法

(参数1,参数2,....){

方法体...

return 返回值

}

可赋值给变量,通过变量进行调用

可再其他方法中直接调用或传递给其他方法

十四、闭包

闭包是一个方法(对象)

闭包定义在其他方法内部

闭包能够访问外部方法内的局部变量,并持有其状态(这是闭包最大的作用,可以通过闭包的方式,将其暴露出去,提供给外部访问)

你可能感兴趣的:(Dart基础笔记)