Dart语言入门(一)
Dart 语言介绍
Dart 是谷歌在 2011 年推出的编程语言,是一种结构化 Web 编程语言,允许用户通过 Chromium 中所整合的虚拟机(Dart VM)直接运行 Dart 语言编写的程序,免去了单独编译的步骤。以后这些程序将从 Dart VM 更快的性能与较低的启动延迟中受益。Dart 从设计之初就为配合现代 web 整体运作而考虑,开发团队也同时在持续改进 Dart 向 JavaScript 转换的快速编译器。Dart VM 以及现代 JavaScript 引擎(V8 等)都是 Dart 语言的首选目标平台。
Dart语言概念重点
每个变量都是一个对象,每个对象是一个类的实例。甚至数字,函数,和null都是对象。所有对象都继承自Object类
指定静态类型(如num前面的例子中)讲清意图,用 tools 开启静态检查,但它是可选的。 (可能注意到当你调试代码,没有指定类型的变量会得到一个特殊的类型: dynamic )
Dart解析所有的代码运行之前。可以对Dart提供提示,例如,通过使用类型或编译时间常数来捕获错误或帮助代码运行更快。
Dart支持顶级函数(如main())也支持类或者对象(静态和实例方法分别支持)里的函数。还可以在函数里创建函数(嵌套或局部功能)。
类似的,Dart支持顶级变量,以及依赖于类或对象(静态变量和实例变量)变量。实例变量有时被称为域或属性。
与Java不同,Dart不具备关键字public,protected和private。如果一个标识符以下划线
(_)开始,那么它和它的库都是私有的。标识符可以字母或
(_)开始,或者是字符加数字的组合开头。有时,判断是一个表达式还是一个语句会很重要,所以我们要准确了解这两个单词。
Dart tools可报告两类问题:警告(warning)和错误(error)。警告只是迹象表明,代码可能无法正常工作,但他们不会阻止程序的执行。错误可以是编译时或运行时,编译时的错误阻止代码执行;当代码执行时一个运行时的错误会导致一个 异常(exception)被抛出。
Dart有两种运行模式:生产 (production) 和检查 (checked) 。我们建议在检查模式开发和调试,并将其部署到生产模式。
Production mode是Dart程序一个速度优化的默认运行模式。Production mode忽略 断言语句(assert statements) 和静态类型。
- Checked mode 是开发人员友好的方式,可以帮助你在运行时捕捉一些类型的错误。例如,如果分配一个非数字来声明为一个 num 变量,然后在检查模式会抛出异常。
Dart关键字
| abstract | continue | false | new | this |
|
as |
default | final | null | throw |
| assert | deferred | finally | operator | true |
| async | do | for | part | try |
| async$ | dynamic | get | rethrow | typedef |
| await | else | if | return | var |
| break | enum | implements | set | void |
| case | export | import | static | while |
| catch | external | in | super | with |
| class | extends | is | switch | yield |
| const | factory | library | sync* | yield$ |
上标1的单词是内置的标识符(built-in identifiers)。避免使用表格内的标识作为符标识,而且从来不使用它们作为类(class)或类型(type)的名称。内置标识符存在,以方便从 JavaScript 到 Dart 的移植。例如,如果一些JavaScript代码中有一个名为工厂的变量,当你将代码移植到 Datr 中,你不必重新命名它。
上标2的单词是的Dart1.0版本之后添加异步支持较新的、有限的保留字。不能使用async,await,或yield作为在标有async,或sync的任何函数体的标识符。欲了解更多信息,请参见 异步性支持(Asynchrony support)。
- 在关键字表中的所有单词都是保留字。不能使用保留字作为标识符。
变量
ex1:
var name = 'along';
变量都是引用,变量name包含对一个String的对象值'along' 的引用
默认值
未初始化的变量具有null 的初始值,即使数字类型最初变量也是null,因为数字也是对象。
final和const:
如果从不打算改变一个变量,使用 final 或者 const 代替 var 或者其他类型。一个 final 变量只能被设置一次;一个 const 变量是一个编译时常数。(延迟初始化变量有助于应用程序启动的更快)
内置类型
- 数字 number
- 字符串 strings
- 布尔 booleans
- 列表 lists(也称为数组arrays)
- 图 maps
- 符号 symbols
Dart语言入门(一)的更多相关文章
- Atitit.dart语言的特性 编译时js语言大总结
Atitit.dart语言的特性 编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...
- Dart 语言简易教程系列
google Fuchsia系统 及 dart语言简介 在 InteIIiJ IDEA 中搭建 Dart 的开发环境 Dart Linux 开发环境搭建 Dart 语言简易教程(一) Dart 语言简 ...
- Dart编程语言入门
Dart基础入门语法介绍,详细说明可以查看相关视频<Dart编程语言入门>. 变量与常量 变量 1.使用 var 声明变量,默认值为 null var a;//null a = 10; 2 ...
- 简单易懂的Dart》 - Dart语言中文简明教程
转自:https://www.blackglory.me/straightforward-dart/ Dart是Google公司发布的网络编程语言,其诞生的目的是为了让广大C类OOP程序员们克服Jav ...
- Fluter基础巩固之Dart语言详解<三>
继续Dart语言的学习,这次过后下次就进入全新的Flutter的学习了,小小的激动.. 操作符重载: C++中也有,咱们来看一下在Dart中是如何来实现的: 比较简单. 异步[重要!]: async和 ...
- Fluter基础巩固之Dart语言详解<一>
在上一篇https://www.cnblogs.com/webor2006/p/11367345.html中咱们已经搭建好了Flutter的开发环境了,而Flutter的开发语言是选用的dart,那么 ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
- 我为什么反对推荐新人编程C/C++语言入门?
虽然我接触编程以及计算机时间比较早,但是正式打算转入程序员这个行当差不多是大学第四年的事情 从03年接触计算机,07年开始接触计算机编程, 期间接触过的技术包括 缓冲区溢出(看高手写的shellcod ...
- 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书
<C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...
随机推荐
- 微服务架构之「 API网关 」
在微服务架构的系列文章中,前面已经通过文章<架构设计之「服务注册 」>介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」. 「 API网关 」是任何微服务架构的重要组 ...
- 如何使用JS来开发室内三维地图的轨迹回放功能
在制作完成室内三维地图的功能后,最经常有的需求就是如何做人员的轨迹回放,一般流程都是从数据库中查询轨迹坐标后,经过后台查询接口返回给前端,接下来的事情都交给JS来完成. 如果想做好一个性能好的轨迹回 ...
- 细说并发编程-TPL
本节导航 基本概念 并发编程 TPL 线程基础 windows为什么要支持线程 线程开销 CPU的发展 使用线程的理由 如何写一个简单Parallel.For循环 数据并行 Parallel.For剖 ...
- 看懂 ,学会 .NET 事件的正确姿势-简单版
发现之前写了一篇关于事件的阐述写的过于抽象.现在想想先理解本质由简入难比较合适 之前的一篇博客地址:https://www.cnblogs.com/LiMin/p/7212217.html 参照网上 ...
- eShopOnContainers 知多少[2]:Run起来
环境准备 Win10(开启Hyper-V) .NET Core SDK Docker for Windows VS2017 or VS Code Git SQL Server Management S ...
- ASP.NET Aries 高级开发教程:Excel导入之多表高级导入配置(中)
前言: 在面对Excel的各种复杂导入情况中,多表导入是很常见的情景. 今天就来写一下多表导入是如何配置的. 1.自定义导入模板 怎么自定义: 其实就是自己新建一个Excel了,把列头都写好. 不过有 ...
- js生成[n,m]的随机数,js如何生成随机数,javascript随机数Math.random()
一.预备知识 Math.ceil(); //向上取整. Math.floor(); //向下取整. Math.round(); //四舍五入. Math.random(); //0.0 ~ 1 ...
- SpringBoot启动原理及相关流程
一.springboot启动原理及相关流程概览 springboot是基于spring的新型的轻量级框架,最厉害的地方当属自动配置.那我们就可以根据启动流程和相关原理来看看,如何实现传奇的自动配置 二 ...
- matplotlib安装
Windows / Linux pip 相关依赖 Python (>= 2.7 or >= 3.4) NumPy (>= 1.7.1) setuptools dateutil (&g ...
- 前端神器-神级代码编辑软件Sublime Text下载、使用教程、插件推荐说明、全套快捷键
Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器.Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能 ...