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基础的更多相关文章

  1. Dart基础学习02--变量及内置类型

    Dart基础学习02--变量及内置类型 Dart中的变量 首先看一个变量的定义和赋值 var name = 'Bob'; 在Dart中变量名都是引用,这里的name就是一个指向值为Bob的字符串的引用 ...

  2. Dart:2.通过一个简单程序来理解Dart基础语法

    一 . 一个简单的 Dart 程序 // 这是程序执行的入口. main() { var number = 42; // 定义并初始化一个变量. printNumber(number); // 调用一 ...

  3. Dart 基础重点截取 Dart 2 20180417

    官网教程 https://www.dartlang.org/guides/language/language-tour dart是一个单线程的语言,没有多线程 Final and const If y ...

  4. dart基础计数器

    import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...

  5. dart基础语法

    .关于 runApp() 上面的实例代码中使用了 runApp() 方法,runApp 方法接收的指定参数类型为 Widget,即: runApp(Widget).在 Flutter 的组件树(wid ...

  6. Dart基础学习03--方法的使用

    1.本文主要讲一下Dart中的方法是怎么定义的,下面先看一个简单的例子: void printNumber(num number) { print('The number is $number.'); ...

  7. Dart基础学习01--走近Dart

    什么是Dart 在Dart的官网上是这样介绍Dart的: Dart is an open-source, scalable programming language, with robust libr ...

  8. Flutter学习笔记--Dart基础

    前言 Flutter使用Dart语言开发, Dart是面向对象编程语言, 由Google2011年推出, 目前最新版本是2.4.0. 工欲善其事,必先利其器. 为了更好的开发Flutter应用, 我们 ...

  9. Dart基础使用手册

    程序入口 在每个app中必须有一个main()函数作为程序的入口点. 你可以在新建的flutter项目中找到它(main.dart) void main() => runApp(MyApp()) ...

随机推荐

  1. 【bzoj1260】[CQOI2007]涂色paint 区间dp

    题目描述 给出一个序列,每次可以给一段染成同一种颜色,问最少要染多少次能够染成给定方案. 输入 输入仅一行,包含一个长度为n的字符串,即涂色目标.字符串中的每个字符都是一个大写字母,不同的字母代表不同 ...

  2. WebSocket简单介绍(1)

    HTML5作为下一代WEB标准,拥有许多引人注目的新特性,如Canvas.本地存储.多媒体编程接口.WebSocket等等.今天我们就来看看具有“Web TCP”之称的WebSocket. WebSo ...

  3. BZOJ4551 Tjoi2016&Heoi2016树(离线+并查集)

    似乎是弱化的qtree3.树剖什么的非常无脑.考虑离线.并查集维护每个点的最近打标记祖先,倒序处理,删除标记时将其与父亲合并即可. #include<iostream> #include& ...

  4. NS10.1 产品技术规范

    NS10.1 产品技术规范 产品技术规范==================4层-7层流量管理 4层负载均衡(LB)        支持的协议TCP,UDP,FTP,HTTP,HTTPS,DNS(TC ...

  5. bootstrap、angularJS、nodeJs、reactJs视频教程

    bootstrap.angularJS.nodeJs.reactJs视频教程 发布时间:『 2017-06-25 19:50』  博客类别:资源下载  阅读(74) 评论(0) 智能社与达内哪个好?说 ...

  6. [8.16模拟赛] 玩具 (dp/字符串)

    题目描述 儿时的玩具总是使我们留恋,当小皮还是个孩子的时候,对玩具更是情有独钟.小皮是一个兴趣爱好相当广泛且不专一的人,这这让老皮非常地烦恼.也就是说,小皮在不同时刻所想玩的玩具总是会不同,而有心的老 ...

  7. [hdu 2586]lca模板题(在线+离线两种版本)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586 在线版本: 在线方法的思路很简单,就是倍增.一遍dfs得到每个节点的父亲,以及每个点的深度.然后 ...

  8. 忘记mysq rootl密码后解决办法

    如果mysql正在运行,/etc/init.d/mysqld stop 启动mysql(无需输入密码):bin/safe_mysqld –skip-grant-tables & 在bin目录下 ...

  9. nginx 设置ip地址访问,但是设置域名访问不了

    一.导语 在Nginx的设置过程中,ip地址能正常访问的,但是把ip地址转换成域名,就访问不了了,这个是怎么回事呢?今天来探讨一下 二.设置ip地址做负载均衡 2.1.server端 server { ...

  10. postfix导致maillog填满磁盘空间的巨坑!

    双休日回家pull在公司修改的代码...于是菜鸟的linux探索之路开始了 1.df -f发现磁盘又占满了(之前是node的error) 2.发现maillog整整10个G,无数条(Jul 7 04: ...