导航
入口方法(main方法)
在dart文件里,所有要被执行的方法都必须放在main
方法里面。
有两种方式定义main方法:
第一种:直接定义
main() {
// 要执行的代码
print('你好 dart'); // 一句话结束,要加分号
}
第二种:使用关键字 void
,表示没有返回值(跟Typescript有点相似)
// 表示 main 方法没有返回值
void main() {
print('你好 dart');
}
TS的写法:
function setData:void() {
// ...
}
注释
使用 //
或///
或 /* */
(跟Javascript一样)。
变量
1. 通过关键词var
来声明变量
dart 是一个强大的脚本类语言,使用var可以不预先定义变量类型 ,自动会进行类型推倒
如:
var str = 'this is var'; // 自动推倒为String类型,不能赋值其他类型的值
str = 123; // 会报错
2. 直接在变量前面加上变量对应的类型来声明变量
void main(){
// 字符串
String str = '你好dart';
print(str);
// 数字类型 分为 int (整数型) 和 double (浮点型)
int myNum = 12354;
print(myNum);
// 类型将在后面单独详细讲解
}
注意:
- dart里面有类型校验的。
- var 后就不要写类型 , 写了类型 不要var 两者都写 var a int = 5; 会报错。
- 在dart里,声明了变量未赋值,它的值默认都是 null。
- 私有变量的声明:
变量前声明了下划线,代表是私有的,只能在本类中使用。如果未声明私有,就是公有的(后面将在讲类章节详细讲解)。
var _list; 代表 _list变量是私有的,只有当前class域可以调用。
需要注意的是: 变量名是 _list,而不是list。
常量:final
和 const
修饰符
相同点
- 都是一旦赋值不可改变。
- const 能做的,final 都能做。
不同点
- const 值不变 一开始就得赋值。
- final 可以开始不赋值 只能赋一次 ; 而final不仅有 const 的 编译时常量 的特性,最重要的它是 运行时常量,并且 final 是惰性初始化,即在运行时第一次使用前才初始化
注意: 永远不改量的量,请使用final或const修饰它,而不是使用var或其他变量类型。
final name = 'Bob'; // 报错: Without a type annotation
final String nickname = 'Bobby';
const bar = 1000000; // Unit of pressure (dynes/cm2)
const double atm = 1.01325 * bar; // Standard atmosphere
//const常量
const PI=3.14159;
// PI=123.1243; //错误的写法 常量不可以修改
print(PI);
// final 常量
final PI=3.14159;
// PI=124214.214124; //错误写法
print(PI);
final a = new DateTime.now();
print(a); //2019-05-10 15:59:02.966122
//const a=new DateTime.now(); //报错了
Dart的命名规则:
- 变量名称必须由 数字、字母、下划线 和 美元符($) 组成。
- 注意:标识符开头 不能是数字。
- 标识符不能是 保留字 和 关键字 。
- 变量的名字是 区分大小 写的如: age和Age是不同的变量。在实际的运用中,也建议,不要用一个单词大小写区分两个变量。
- 标识符(变量名称)一定要 见名思意 :变量名称建议用名词,方法名称建议用动词