作者:zhongbusi
注释
// An highlighted block
var foo = 'bar';
什么是注释
注释用于解释说明代码,加强代码的可读性。
注释中的内容会被编译器忽略,并不影响代码执行。
单行注释: 以//
开头。
多行注释:以/*
开头 */
结尾。
单行文档注释:以///
开头。
多行文档注释:以/**
开头,以*/
结尾。
示例:
void main(){
//这是一行注释
print("HelloWorld!");
/* 这是多行注释
* 你想在这里面写什么都可以
* 不会影响到代码执行
*/
///这是单行文档注释
}
/**
* 注释写在外面也是可以的
*/
内置类型
Dart语言内建类型有如下类型:
- Number
1. int:整数值不大于64位
2. double:64位(双精度)浮点数 - String
- Boolean
- List
- Map
- Set
- Rune(用于在字符串中表示Unicode字符)
- Symbol
重要概念
- 在dart中,变量保存的都是
对象
,并且所有对象都有一个对应类
的实例。无论是,数字、函数、还是null
都是对象,并且所有对象继承自Object
类。 - Dart是一个强类型语言,但Dart
可以
推断类型。如果确定自己不需要说明变量是任何类型的时候,可以使用特殊类型dynamic
。
var num=11; //没有明确是num是int类型的,但是dart会自动推导
int num=11; //明确num是int类型的
dynamic num=11; //明确自己一开始不想说明num的类型,后面系统会自动推导
//dynamic在编译时不会推导数据类型,但是运行的时侯会。
- Dart支持泛型,比如:
List<int>
(整数列表)或List <dynamic>
(任何类型的对象列表)。 - Dart支持顶级函数(例如
main()
), 同样函数绑定在类或对象上(分别是 静态函数 和 实例函数 )。 以及支持函数内创建函数 ( 嵌套 或 局部函数 ) 。 - 同样,Dart支持顶级的
变量
, 变量绑定在类或是对象上(静态变量和实例变量)。实例变量又是成为字段或是属性。 - 与Java不同,Dart没有关键字 “public”,“pritected"和"p[rivate”。如果标识符以下划线
_
开头,则说明它相对于库是私有的。 - 标识符以字母或下划线(_)开头,后面跟任意字母和数字组合。
- Dart语法中包含
表达式
(expressions)(有运行时值)和语句
(statements)(没有运行时值)。例:条件表达式 condition ? expr1 : expr2
的值了能是expr1
或expr2
。将其与if else 语句
相比较,if-else语句没有值。一条语句通常包含一个或多个表达式,相反表达式不能直接包含语句。 - Dart工具提示两种类型问题:警告和错误。警告表示代码可能无法正常工作,但是不会组织程序执行。错误表示肯是编译错误或是运行时错误。编译错误会组织代码的执行;运行时错误会导致代码在执行过程中引发[异常](exception)。
关键字
Dart语言关键字列表
abstract2 | dynamic2 | implements2 | show1 |
as2 | else | import2 | static2 |
assert | enum | in | super |
async1 | export2 | interface2 | switch |
await3 | extends | is | sync1 |
break | external2 | library2 | this |
case | factory2 | mixin2 | throw |
catch | false | new | true |
class | final | null | try |
避免使用这些单词作为标识符。 但是,如有必要,标有上标的关键字可以用作标识符:
- 带有 1 上标的单词为 上下文关键字, 仅在特定位置具有含义。 他们在任何地方都是有效的标识符。
- 带有 2 上标的单词为 内置标识符, 为了简化将 JavaScript 代码移植到 Dart 的工作, 这些关键字在大多数地方都是有效的标识符, 但它们不能用作类或类型名称,也不能用作 import 前缀。
- 带有 3 上标的单词是与 Dart 1.0 发布后添加的异步支持相关的更新,作为限制类保留字。
不能在标记为async
,async*
或sync*
的任何函数体中使用await
或yield
作为标识符。
作者:zhongbusi