一、 VSCode配置
VSCode编写Dart需要安装的3个插件
二、 Hello Dart
在VSCode中新建一个helloWorld.dart文件,添加下面的内容:
main(List<String> args) {
print('Hello Word');
}
然后在运行dart helloWorld.dart,就能看到Hello World的结果了。
程序分析
●一、Dart语言的入口也是main函数,并且必须显示的进行定义;
●二、Dart的入口函数main是没有返回值的;
●三、传递给main的命令行参数,是通过List完成的。
○从字面值就可以理解List是Dart中的集合类型。
○其中的每一个String都表示传递给main的一个参数;
●四、定义字符串的时候,可以使用单引号或双引号;
●五、每行语句必须使用分号结尾,很多语言并不需要分号,比如Swift、JavaScript;
三、变量的定义
一、明确声明
明确声明变量的方式, 格式如下:
变量类型 变量名称 = 赋值;
// 字符串
String name = '哈哈';
// 整数
int age = 18;
// 小数
double height = 1.88;
二、类型推导
类型推导声明变量的方式, 格式如下:
var/dynamic/const/final 变量名称 = 赋值;
一、var
runtimeType用于获取变量当前的类型
var name = '哈哈';
name = 'abc';
print(name);
var age = 18;
//是错误的 不能将String赋值给一个int类型
age = 'abc';//报错
二、dynamic
使用dynamic来声明变量,可以改变变量的类型,会带来潜在的危险。在实际开发中通常情况下不使用dynamic.
dynamic定义的变量编译的时候不会类型检查.
dynamic name = '哈哈';
print(name.runtimeType); // String
name = 20;
print(name.runtimeType); // int
dynamic abc;
/// abcddd 方法没有定义,不会类型检查。调用时没有报错,运行的时候会报错。
abc.abcddd();
三、const和final
final和const都是用于定义常量的, 也就是定义之后值都不可以修改
final name = '哈哈';
name = 'abc'; // 错误做法
const age = 20;
age = 15; // 错误做法
final和const有什么区别呢?
●const在赋值时, 赋值的内容必须是在编译期间就确定下来的
●final在赋值时, 可以动态获取, 比如赋值一个函数
String getName() {
return '哈哈';
}
main(List<String> args) {
const na