Dart基础
dartpad在线调试 :https://dartpad.dartlang.org 运行需要用墙
vscode执行dart
1.安装Code Runner

2.安装dart插件

3.配置环境变量
D:\Program Files\flutter\bin\cache\dart-sdk\bin --用的是flutter里的dartsdk,可以单独下载
4.使用
vscode新建dart文件

右键run code ,成功!
可能出现的乱码问题


ok
GitLens 插件:逐行显示git提交修改时间

一、数据类型
1.num类型
num类型有两个子类int类型和double类型
2.String类型
3.bool类型
4.List类型
main(){
var list = ['tom', 'mei', 'jay'];
print(list);//打印 [tom, mei, jay]
print(list.length);//
list.add('han');
print(list);//[tom, mei, jay, han]
//在 list 字面量之前添加 const 关键字,可以 定义一个不变的 list 对象
var constantList = const [, , ];
//constantList.add(4);//报错
print(list[]);// tom
print('indexOf--' +list.indexOf('mei').toString());//根据值返回索引下标
//删除指定元素,注意1不是下标,是值,如果值未找到不会报错
print(list.remove('mei'));//true
print(list);//[tom, jay, han]
}
5.Map类型
main(){
Map name={'name':'tom','age':22};
print(name);
}

二、常量与变量
1.默认值
如果声明变量不赋值,所有类型的变量都默认为null包括int类型
main(){
int name;
print(name);
}

2.常量 final const
final name='a';
不允许被修改
main(){
final String name='a';
name='aaa';
print(name);
}

使用final const可以省略变量类型
final name='a';
final和const的区别

3.私有变量
所有名字以下划线开头的变量,Dart 的编译器都会将其强制标记为私有的
三、运算符

四、函数.
1.一般函数
void say(){
print('hello');
}
main(){
say();
}
2.函数简写
如果只有一行,可以用=> 代替{}
main()=> print('a');
3.可选参数
可选参数分为:可选命名参数和可选位置参数。这两种方式不能同时在一个函数使用
(1)可选命名参数

运行

还可以设置默认参数

运行

如果 name没有默认值,并且调用时也没有传参,则输出null
(2)提示需要填写的可选参数
pubspec.yaml
name: my_app
dependencies:
meta: ^1.1.

提示

(3)可选位置参数:

五、流程控制
1.if else
main() {
int count = 8;
if (count == 6) {
print('a');
} else if (count == 7) {
print('b');
} else {
print('c');
}
}
2.for 循环
main() {
int count = 8;
for (int i = 0; i < count; i++) {
print(i);
}
}
3.while do-while
main() {
int count = 8;
while (count != 0) {
count--;
if (count == 6) {
print('count');
continue;
}
if (count == 3) {
break;
}
print(count);
}
}
4.switch case
main() {
int count = 8;
switch (count) {
case 6:
print('ok6');
break;
case 8:
print('ok8');
break;
default:
print('ok');
}
}
5.Assert (断言)
assert(bool)为真时正常往下执行,为假时推出程序,此代码只在调试模式下管用
main() {
int count = 8;
assert(count < 7);
print(count);
}
六、异常
1.
main() {
throw '抛出异常';
}

2.
main() {
throw Exception('抛出指定异常');
}
3.try
main() {
try{
}catch(e){
}finally{
}
}
七、泛型
var names = List<String>();
names.addAll(['Seth', 'Kathy', 'Lars']);
print(names is List<String>); // true
八、Type
main(){
//查看变量类型
var i=;
print(i.runtimeType);
}
Dart基础的更多相关文章
- Dart基础学习02--变量及内置类型
Dart基础学习02--变量及内置类型 Dart中的变量 首先看一个变量的定义和赋值 var name = 'Bob'; 在Dart中变量名都是引用,这里的name就是一个指向值为Bob的字符串的引用 ...
- Dart:2.通过一个简单程序来理解Dart基础语法
一 . 一个简单的 Dart 程序 // 这是程序执行的入口. main() { var number = 42; // 定义并初始化一个变量. printNumber(number); // 调用一 ...
- Dart 基础重点截取 Dart 2 20180417
官网教程 https://www.dartlang.org/guides/language/language-tour dart是一个单线程的语言,没有多线程 Final and const If y ...
- dart基础计数器
import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...
- dart基础语法
.关于 runApp() 上面的实例代码中使用了 runApp() 方法,runApp 方法接收的指定参数类型为 Widget,即: runApp(Widget).在 Flutter 的组件树(wid ...
- Dart基础学习03--方法的使用
1.本文主要讲一下Dart中的方法是怎么定义的,下面先看一个简单的例子: void printNumber(num number) { print('The number is $number.'); ...
- Dart基础学习01--走近Dart
什么是Dart 在Dart的官网上是这样介绍Dart的: Dart is an open-source, scalable programming language, with robust libr ...
- Flutter学习笔记--Dart基础
前言 Flutter使用Dart语言开发, Dart是面向对象编程语言, 由Google2011年推出, 目前最新版本是2.4.0. 工欲善其事,必先利其器. 为了更好的开发Flutter应用, 我们 ...
- Dart基础使用手册
程序入口 在每个app中必须有一个main()函数作为程序的入口点. 你可以在新建的flutter项目中找到它(main.dart) void main() => runApp(MyApp()) ...
随机推荐
- delphi Edit 控制最大值,只能输入数字型 控制小数位数
delphi语言受众多程序员追捧,主要原因之一就是它有很多第三方的控件可供使用.很多资深的delphi程序员都把自己积累的函数.过程等设计成控件,以方便使用,提高开发效率. 本文通过一个只允许输入数字 ...
- combobox下拉框
----------------------------------------------combobox下拉框----------------------------------------- f ...
- C#中构造函数和析构函数的用法
构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误.本文将较系统的介绍构造函数与析构函数的原理及在C#中的运用,以及在使用过程中需要注意的若干事项.一 ...
- 停课day2
感觉今天好颓啊,我才把昨晚那五道题a了,(但我明明一直在学啊,为啥这么慢,难道是我太笨了?) 闲话少叙,先说做法 问题 A: C Looooops 题目描述 对于C的for(i=A ; i!=B ;i ...
- [学习笔记]动态dp
其实就过了模板. 感觉就是带修改的dp [模板]动态dp 给定一棵n个点的树,点带点权. 有m次操作,每次操作给定x,y表示修改点x的权值为y. 你需要在每次操作之后求出这棵树的最大权独立集的权值大小 ...
- innodb log file与binlog的区别在哪里?
Q: innodb log file与binlog的区别在哪里?有人说1.mysql的innodb引擎实际上是包装了inno base存储引擎.而innodb log file是由 inno base ...
- Small things are better
Yesterday I had fun time repairing 1.5Tb ext3 partition, containing many millions of files. Of cours ...
- bzoj4602 [Sdoi2016]齿轮
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4602 [题解] 对于每组齿轮(u, v)连边,权值为y/x(反向边x/y) 那么直接dfs计 ...
- 金山中学 rugular SRM 04 ——纪念我的第一次Ak
虽然只是一场比较简单的比赛 但奈何我也比较弱啊.... T1 一道计算概率的题目 T SRM 04 描述 给个长度为 n 的数列,每次操作能将数列打乱(RandomShuffle),问在期望下需要多少 ...
- nginx中fastcgi_params配置参数
Nginx 的 fastcgi 模块提供了 fastcgi_param 指令来主要处理这些映射关系,下面 Ubuntu 下 Nginx 的一个配置文件,其主要完成的工作是将 Nginx 中的变量翻译成 ...