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();`

dart 学习笔记的更多相关文章

  1. Dart学习笔记-运算符-条件表达式-类型转换

    Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...

  2. Dart学习笔记

    一.数据类型 1. 字符串 和 数字 互转 // String 转为 int '); assert(one == ); // String 转为 double var onePointOne = do ...

  3. Dart学习笔记-循环

    1.for循环 main() { // for循环 ; i < ; i++) { print(i); // 0,1,2,3,4,5,6,7,8,9 } } 2.while循环 main() { ...

  4. Dart学习笔记-变量常量数据类型

    变量和常量 1.变量的定义 main() { var t_str = 'hello world'; var t_num = 123456; String t_str2 = '你好,我很高兴'; int ...

  5. Flutter学习笔记(3)--Dart变量与基本数据类型

    一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...

  6. Flutter学习笔记(4)--Dart函数

    如需转载,请注明出处:Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理: ...

  7. Flutter学习笔记(5)--Dart运算符

    如需转载,请注明出处:Flutter学习笔记(5)--Dart运算符 先给出一个Dart运算符表,接下来在逐个解释和使用.如下:                            描述       ...

  8. Flutter学习笔记(6)--Dart异常处理

    如需转载,请注明出处:Flutter学习笔记(6)--Dart异常处理 异常是表示发生了意外的错误,如果没有捕获异常,引发异常的隔离程序将被挂起,并且程序将被终止: Dart代码可以抛出并捕获异常,但 ...

  9. Flutter学习笔记(8)--Dart面向对象

    如需转载,请注明出处:Flutter学习笔记(7)--Dart异常处理 Dart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多 ...

  10. Flutter学习笔记(6)--Dart流程控制语句

    如需转载,请注明出处:Flutter学习笔记(5)--Dart流程控制语句 条件语句:if.if...elseif.if...elseif...else ; ) { print('优秀'); } &g ...

随机推荐

  1. 超简单的图文并茂Linux上使用yum安装Mysql(Aliyun Linux release 2.1903 LTS)

    首先登录进入你的Linux服务器 查看是否已安装mysql rpm -qa|grep mysql 查看自己的服务器版本 cat /etc/redhat-release 打开MySQL Yum存储库下载 ...

  2. element-ui + vue ,ant-design + vue , Angular + ZORRO 实现表格自动横纵向合并单元格,并自动根据单元格数据进行添加样式

    element-ui + vue ,ant-design + vue , Angular + ZORRO 实现表格自动横纵向合并单元格,并自动根据单元格数据进行添加样式 本文重点写 element-u ...

  3. ffmpeg拉取rtsp视频流

    公司项目需要提供实时显示网络摄像头实时视频. void RTSPFFmpeg::rtsp_open(const char *url) { AVFormatContext* format_ctx = a ...

  4. Docker命令的自动补齐

    Docker命令的自动补齐 背景 在linux下输入命令或文件都是可以自动补齐的,这个特性极大的提高了我们的效率,多数情况下我们很少用命令参数的自动补齐. 但对docker git这类参数特别多的命令 ...

  5. P4_创建第一个小程序项目

    设置外观和代理 创建小程序项目 点击"加号"按钮 填写项目信息 项目创建完成 在模拟器上查看项目效果 在真机上预览项目效果 主界面的 5 个组成部分

  6. 分布式云原生平台Kurator v0.2.0正式发布!一键构建分布式云原生平台

    摘要:北京时间2023年2月9日,Kurator 正式发布 v0.2.0 版本. 本文分享自华为云社区<分布式云原生平台Kurator v0.2.0正式发布!一键构建分布式云原生平台>,作 ...

  7. 视觉十四讲:第十二讲_RGB-D稠密点云

    1.点云地图 所谓点云,就是由一组离散的点表示的地图,最基本的点包含x,y,z三维坐标,也可以带有r,g,b的彩色信息. #include <iostream> #include < ...

  8. 上篇 | 使用 🤗 Transformers 进行概率时间序列预测

    介绍 时间序列预测是一个重要的科学和商业问题,因此最近通过使用基于深度学习 而不是经典方法的模型也涌现出诸多创新.ARIMA 等经典方法与新颖的深度学习方法之间的一个重要区别如下. 概率预测 通常,经 ...

  9. JZOJ 2022.02.26【提高A组】模拟

    比赛总结 考场 \(T1,T2\) 思想切了 然而... \(\text{T1}\) 飞行棋 当然要 \(dp\),然而发现后六格有后效性 姑且设 \(f_i\) 表示从第 \(i\) 格到终点的期望 ...

  10. sql 查找连续的时间区间以及连续天数

    create table tmptable(rq datetime) go insert tmptable values('2010.1.1') insert tmptable values('201 ...