dart 官方文档 http://dart.goodev.org/guides/language/language-tour
# 重要概念
所以能够使用变量引用的都是对象,也就是所以可以赋值给变量的都是对象,包括数值,对象,null,方法,都继承与Object
使用静态类型,能具有更好的语义,如 num, String
编译型语言
顶级方法 void main() 也可以理解为入口方法
不包括 public private protected 等访问修饰符,如果想定义私有在变量名前加_ 如 String _name = 'czklove'
错误和警告,和其他强类型语言差不多,错误就不会生成成功,警告则会跳过
注意(" ' 效果是一样的和js一样) 有些语言' 是定义单个字符的(C#)
变量
var 匿名类型 如 var name = 'czklove' 如此定义,编译时会反推断 name的类型为String
final and const
final 变量只能赋值一次
const 编译时的常量
const 关键字不仅仅只用来定义常量。 有可以用来创建不变的值
如 String name = const [] 右边可以是一个对象
内置的类型
1.numbers 数值类型,分为 int 和 double
2.String 字符串,就是 String
3.booleans 布尔值 bool success = false
4.List 列表 有序集合,数组 List list = [1,2,3]
5.Maps 是一个键值对相关的对象, 键和值可以是任何类型的对象。每个 键 只出现一次
如 var gifts = {
'first': '1111',
'second': 'turtledoves'
}
6.Runes 字符串的 UTF-32 code points
7.Symbols 略,基本上不会用到,
方法 Functions
方法也是一个对象 类型Functions 意味着和js一样,可以将一个方法的方法名赋值给一个变量
操作符
- + / % ++ -- ?: 和别的语言基本上差不多
流程控制语句
for(int i = 0;i<10;i++)
switch
if else
while
break continue 跳出整个循环和跳出当前循环
异常
try{
} catch(e){
rehtrow // 抛出异常
} finally {
}
classes 类 对象
class Home {
Home(){
//构造函数
}
}
范型 T 用法和别的强类型语言差不多 List<T> 也有类型约束 List<T extends someclass>