Flutter之Dart语言的应用01:基本数据类型

117 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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

  1. var 自动类型推断,当把值赋给变量后,那么它会根据值得类型,推断它是那个严格类型
var i = 0;

如果再次把该变量赋值成小数,则会报错,因为当第一次定义的时候,就已经给这个变量确定好是Int类型 2. const 定义一个常量,定义完之后不可修改,也不可赋值,不能进行强制类型转换

const l = 1;
  1. final 定义之后,开始初始化,初始化完成后不可再次修改,和const相比它更是强制型
final p = 2;
  • 数值类型Int,double,Number double类型和js中的float类型是一样的都是小数类型,可以给它赋值为整数
double num2 = 123
num2 = 1.23
  • 字符串StringDart语言中,是不可进行类型转换,但是也是可以强制转换,如果把字符串转换为数字,在js中用到的是parseInt()
String str = '嗡'
double num1 = double.parse(str)

通过double.parse进行强制类型转换

  • 布尔Bool 布尔值最终返回结果是truefalse,通过判断类型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语言非常注重语义化,除了定义变量语义化外,更多的是定义方法和类型的语义化