Flutter 学习之旅01-Dart语言初接触


  1. 变量声明 var dynamic String

Dart 虽然是强语言类型,但是可以使用var 但不是说他不指定变量类型,而是他会自动推断变量类型,

dynamic 才是动态类型,在编译过程中他会被编译成object 类型,他是通过运行时对类型进行检查。

String 和java 一样,直接声明变量类型为字符串

举个例子

开始没有定义a的类型, 后来将他置位空串,再执行int的 ++方法就会报错

img

意思就是int 不是string 的子类型

  1. 方法与变量的作用域

在java中方法与常量的作用域有 public private protect

Dart中的公开变量 var a=1;

但是在dart 中”_” 下划线 开头的方法或者变量则为私有变量,

用@protected修饰的变量和方法则为收到保护的变量,在外部路径访问会报错

举个栗子 这个是方法的,变量同理

img

3.final与const 类型的差异

在java中用final修饰的边变量无法被修改,Dart中也同样的原理,一个被final修饰的bean或者map,他本身是不可以修改的,但是他的属性或者键值是可以修改的,在Dart中新增了const 修饰符,被const 修饰符表示静态常量,在编译期就已经确定了,而final修饰的变量是在运行时才确定的,也就是说被const修饰的bean和map,也不可以改变他的属性或者键值