1.dart 下载安装,vscode 安装dart ,coderunner等

2.dart语法

1)需要入口函数main,或者void(没有返回值) main

2)定义变量

var str=‘kkk’

String str=‘kkkk’

永远不改变的常量用const 或者final修饰

const String str=‘kkkk’

3)数据类型

int

double

string

bool

map

list

4)运算符类型转换

字符串转num

int.parse(String)

判断数据类型用is

num is int?

判断空用isEmpty

5)list ,map,set方法属性

List

常用属性:

List myList = ['data1','data2','data3'];

print(myList.isEmpty); //是否为空

print(myList.isNotEmpty); //是否不为空

myList.reversed; //反转数组

常用方法:
myList.add('data4');//增加数据;
myList.addAll(List);//通常用来合并数组; myList.indexOf('xxx');//用来查找数据,找不到返回-1;找到返回对应的下标; myList.remove('data1');//删除指定的值;
myList.removeAt(index);//删除对应下标的值 myList.fillRange(0,1);//修改数据, 输入起始位置; myList.insert(0,'data0');//向数组中插入数据
myList.insertAll(0,List);//插入数组 myList.join(',');// 把数组转换为字符串,以逗号形式分割 字符串转数组:
var str = 'data-data1-data2';
str.split('-');

Map

print(map.length); // 2

print(map.keys); // (name, age)

print(map.keys.toList()); // [name, age]

print(map.values.toList()); // [张三, 18]

print(map.isEmpty); // false 不为空

print(map.isNotEmpty); // true 不为空

remove(key) 删除指定key的数据

addAll({...}) 合并映射, 给映射增加属性

containsValue(value) 判断映射里是否有某个值, 返回true/ false

6)函数

7)类

1 定义这个类的属性和方法

//定义一个类的属性和方法

class Person {

String name = '张三';

int age = 19;

void getInfo() {

// print('我叫\(name,今年\)age');第一种

//推荐使用这样的写,通过this去访问

print("\({this.name}====\){this.age}");

}

}

//使用类中的属性和方法

void main() {

// 调用Perso这个类 首先需要实例化这个类

// Person p = new Person(); // 等价 var p=new Person

var p = new Person();

print(p.age);

p.getInfo();

}

2 改变类中的属性和方法

class Person {

String name = '张三';

int age = 19;

void getInfo() {

//推荐使用这样的写法

print("\({this.name}====\){this.age}");

}

//限制类型,更改类中的属性和方法

SetUserinfo(int age) {

this.age = age;

}

}

void main() {

// 调用Perso这个类 首先需要实例化这个类

Person p = new Person(); // 等价 var p=new Person

print(p.age);//19

p.getInfo();//张三19

p.SetUserinfo(100);

p.getInfo();//张三100

}

8)静态成员

Dart中的静态成员:

1、使用static 关键字来实现类级别的变量和函数

2、静态方法不能访问非静态成员,非静态方法可以访问静态成员

`class Person {

static String name = '张三';

int age=20;

static void show() {

print(name);

}

void printInfo(){ /非静态方法可以访问静态成员以及非静态成员/

// print(name); //访问静态属性

// print(this.age); //访问非静态属性

show(); //调用静态方法

}

static void printUserInfo(){//静态方法

print(name); //静态属性

show(); //静态方法

    //print(this.age);     //静态方法没法访问非静态的属性
// this.printInfo(); //静态方法没法访问非静态的方法
// printInfo();

}

}

//没有带static的时候,是先实例之后再调用。使用了static之后,直接用Person调用

// print(Person.name);

// Person.show();

// Person p=new Person();

// p.printInfo();

Person.printUserInfo();`

9)类的继承

Dart中的类的继承:

1、子类使用extends关键词来继承父类

2、子类会继承父类里面可见的属性和方法 但是不会继承构造函数

3、子类能复写父类的方法 getter和setter

`class Person {

String name;

num age;

Person(this.name,this.age);

void printInfo() {

print("\({this.name}---\){this.age}");

}

}

class Web extends Person{

Web(String name, num age) : super(name, age){//super表示把实例化子类的时候,传入的name age赋值给Person构造函数

}

}

//在main函数中调用

Web w=new Web('张三', 12);

w.printInfo();`

最新文章

  1. WCF学习之旅—TcpTrace工具(二十五)
  2. LintCode Climbing Stairs
  3. 多个ajax请求下等待条显示和隐藏的简单处理
  4. 有关struts2中用到 js 总结
  5. 【摘】Chrome解决高版本Stable Beta扩展程序强制停用问题
  6. Storm系列(七)架构分析之Scheduler-调度器[DefaultScheduler]
  7. js默认行为(也称默认事件)
  8. android代码控制seekbar的样式
  9. Oracle缓存机制
  10. HFun.快速开发平台(二)=》自定义列表实例(请求参数的处理)
  11. SpringBoot CGLIB AOP解决Spring事务,对象调用自己方法事务失效.
  12. tcpdump抓包工具的使用
  13. 利用kibana插件对Elasticsearch进行批量操作
  14. python遇到的知识点
  15. python-飞机大战
  16. Hive记录-加载文件进行查询操作
  17. 【Ubuntu】xrdp完美实现Windows远程访问Ubuntu 16.04
  18. c#编写windows服务在开机是OnStart启动超时
  19. 一些减少代码量、提高开发效率的利器(Java)
  20. 使用不同的方法计算TF-IDF值

热门文章

  1. 深入Typescript--01-使用roolup编译Typescript
  2. angular组件共用服务打印日志父子组件传值2创建服务注入
  3. Unity_UIWidgets新手入门
  4. Linux环境下:程序的链接, 装载和库[静态链接]
  5. Office 2016 专业版打开Excel空白解决方案
  6. SpringCloud Stream消息驱动
  7. 学习ASP.NET Core Blazor编程系列二十六——登录(5)
  8. Mybatis的缓存与动态SQL
  9. 4 .NET Core笔试题
  10. CF1358D The Best Vacation