Dart基本语法
一起从0开始学习Flutter!
虽然我们项目开发使用Android Studio但是在学习Dart的时候无法快速的运行单个dart文件,我又转战到了VS Code。也推荐大家可以从VS Code上进行Dart的练习。
- 基本数据类型 在Dart中不存在这个概念,在Dart所有的都是对象,我们原来的int ,double这些基本数据类型在这里也是对象,只是声明成了int ,double。跟Java一样这里所有的对象最终的父类是Object。
abstract class int extends num
abstract class double extends num
- 声明变量
- Var
使用var 关键字来声明一个不定类型变量,使用var变量定义的时候也需要我们在声明变量的时候注意写法。
如果一开始没有给var的赋值,那么变量的类型是可变的,不会出现错误,如果一开始给变量就赋值那么数据类型就定了,后面如果改变类型就会提示错误。建议如果没有特殊要求时给变量确定类型,否则在后面逻辑复杂的情况下不小心变更了数据类型,错误很难追查。
var num;
num = "11";
num = 100;
print("num is $num");
var str = "111";
str = 111; //Error: A value of type 'int' can't be assigned to a variable of type 'String'.
print("str is $str");
- Dynamic 如果一定要使用动态数据类型,建议使用dynamic来声明变量,这样在我们如果出现错误检查代码的时候也能发现这是一个可变数据类型的,能够加以重视。
dynamic dyn = 2;
dyn = "222";
print("dyn data is $dyn");
- 指定类型 我们也可以像所有的强类型语言一样直接使用要声明的类型来定义变量。定义实体的变量可以省略掉new关键字(一般都是省略掉的)。
String string = "String";
Person person = Person("Flutter");
- final和const final和const都必须初始化,而且只能赋值一次,多次赋值会报错"Setter not found",但是final可以使用变量来赋值,const不可以。
var str = "Dart";
final strF = str;
const strC1 = "Dart";
strF = "String";//Setter not found: 'strF'
const strC = str;//Not a constant expression
strC = "String";//Setter not found: 'strC'
Dart的变量声明就是这些了,主要是需要注意var的变量声明,其他的都是比较简单的。