太原网站建设推广公司推荐,怎么做网站劳务中介,seopeix,杭州网站建设很棒Dart语法总结 变量Hello World变量声明数据类型函数使用面向对象Dart 特殊运算符 变量
Hello World
/*** 1.main函数是dart入口* 2. 参数args#xff0c; 类型为ListString - 泛型
*/
void main(ListString args) {print(hello world);
}变量声… Dart语法总结 变量Hello World变量声明数据类型函数使用面向对象Dart 特殊运算符 变量
Hello World
/*** 1.main函数是dart入口* 2. 参数args 类型为ListString - 泛型
*/
void main(ListString args) {print(hello world);
}变量声明
void main(ListString args) {// 和swift类似// 1. 明确的声明String name why;// 2. 类型推导 var/final/const//虽然没有指定类型但是是有自己的明确类型的var name1 fishycx;// name1 1 这样写会报错的 和swift类似 和 python/js 不一样。//final 用来声明一个常量 类似于swift中的let运行时得到的常量值final height 1.99;//height 2.0; 这样写会报错//const 也是用来声明常量的 编译时赋值的常量值。就是做后边必须时一个常量值而final后面可以表达式。const address xxxxxx;// address “yyyyy”会报错final date DateTime.now();const p1 Person(xx);const p2 Person(xx);print(identical(p1, p2));}class Person {final String name;const Person(this.name);
}数据类型
数值类型布尔值 字符串 条件判断必须是布尔值 不是和pythonjs 一样的非0既真。 //1.数组Listvar names [abd, cbd, fishycx];//2.集合Setvar words {lovers, lonely, only one};//3.映射Mapvar word1s {name: why, age: xxx};函数使用
void main(ListString args) {sayHello(json);// 位置可选参数是指 中括号里面的参数是可选的 如果传的话是按照位置匹配的没有传递 参数名sayHello2(json);sayHello2(json, 10);sayHello2(json, 10, 100);//命名可选参数是指 打括号括起来的参数是可选的 如果要传值的话 使用 参数命名来匹配。 sayHello3(json);sayHello3(json, age: 10);sayHello3(json, height: 10.0, age: 22);}// 必选参数 必须传的参数
// 可选参数 1.位置可选参数 2.命名可选参数
// 可选参数才有默认值
// 位置可选参数[int age, double height]
// 实参或形参进行匹配时 根据位置进行匹配
void sayHello(String name) {print(hello $name);
}// 可选参数必须提供默认值或者使用标记可以为空
void sayHello2(String name, [int? age, double? height]) {print(hello $name $age $height);
}// 命名可选参数使用{}
void sayHello3(String name, {int? age, double? height}) {print(hello $name $age $height);
}匿名函数
void main(ListString args) {// swift pyton dart 函数是一等公民 java oc 并不是。 // 函数可以赋值给一个变量 可以做为另外一个函数的参数或返回值。test(bar);//匿名函数test((){print(匿名函数);});//和ES6差不多.test((){print(箭头函数);});test1((num1, num2) {return num1 num2;});var demo1 demo();print(demo1(10, 20));
}void test(Function foo) {foo();
}void bar() {print(bar 函数被调用);
}//开发中使用typedef 给函数一个别名 typedef Caculate int Function(int num1, int num2);void test1(Caculate calc) {print(calc(20, 30));
}//函数做为返回值
Caculate demo() {return (int num1, int num2){return num1 * num2;};
}面向对象
命名构造函数
class Person {String age;String name;double height;Person(this.age, this.name, this.height);//命名构造函数Person.withAgeNameHeight(this.age, this.name, this.height);
}Dart 特殊运算符
void main(ListString args) {// ?? 当原来的变量有值时 不执行赋值操作。var name null;name ?? lelei;print(name);// ?? 如果变量为null 可取 ??后面的值赋值给变量 这和swift一直var name1 null;print(name1 ?? fishycx);
}void main(ListString args) {var p Person();p.name Why;print(p.name);p.run();p.eat();var p1 Person()..name xxx..run()..eat();
}class Person {late String name;void run() {print(running);}void eat() {print(eating);}
}for 循环
void main(ListString args) {//1.基础for循环for(var i 0; i10; i) {print(i);}//2.遍历数组for(var i in [1, 3, 5, 10]) {print(i);}}\