持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情
和JavaScript的区别
Dart语言规范已被纳入BCMA Script体系,但是和js语言是有差异的会增加一些记忆的成本,并且如果一直在这两种语言之前切换开发的话,有可能会导致写法混乱
main()函数
main()函数是Dart中的预定义方法,它是应用程序的入口点,类似与Vue中的new App,所有的脚本都需要它来执行。
- 创建
用
touch命令创建Dart文件
touch test.dart
- 插件推荐
如果使用
Vs code开发,可以安装code Runner插件,它的作用是在编写好代码之后,鼠标右键选择Run Code即可运行,并在终端控制器看到运行的代码
main(){
print(111)
}
基本数据类型
Dart它是严格类型定义的语言,所以它的类型定义好后,是不能修改的,并必须使用严格的分号
- 定义变量
定义变量和
Javascript大致相同
var const final
- var 自动类型推断,当把值赋给变量后,那么它会根据值得类型,推断它是那个严格类型
var i = 0;
如果再次把该变量赋值成小数,则会报错,因为当第一次定义的时候,就已经给这个变量确定好是Int类型
2. const
定义一个常量,定义完之后不可修改,也不可赋值,不能进行强制类型转换
const l = 1;
- final
定义之后,开始初始化,初始化完成后不可再次修改,和
const相比它更是强制型
final p = 2;
- 数值类型
Int,double,Numberdouble类型和js中的float类型是一样的都是小数类型,可以给它赋值为整数
double num2 = 123
num2 = 1.23
- 字符串
String在Dart语言中,是不可进行类型转换,但是也是可以强制转换,如果把字符串转换为数字,在js中用到的是parseInt()等
String str = '嗡'
double num1 = double.parse(str)
通过double.parse进行强制类型转换
- 布尔
Bool布尔值最终返回结果是true或false,通过判断类型is来判断,或者是==二等、三等
true is false
true == false
- 数组
List数组在js中为Arry而在Dart中为List,定义数组可以将类型放在前面,也可以使用基本的定义方法
List list = []
var mylist = []
const oList = []
但是最为严格类型的语言,数组内有对象的话,那么它的类型是List<object>
- 字典
Map和之前写法类似,可以在变量前加上类型名称,常用的属性keys:values分别获取所有的键和所有的值
var mymap = {}
Map map = {}
var newmap = new Map()
最后
Dart语言非常注重语义化,除了定义变量语义化外,更多的是定义方法和类型的语义化