Dart基础语法<一> 变量

本节主要通过与Java 的对比,了解两种语言不同之处,进行Dart语言语法学习。
首先试个最经典的Hello World

void main() {
  print("Hello World");
}

变量

关于变量记录两点内容:

  • Objectvardynamic的使用
  • 区分finalconst两关键字
Object、var与dynamic
  1. ​变量是一个引用,没有初始化的变量默认值为 null
  2. Object 跟 java一样,是所有类的父类,Object声明的变量可以是任意类型
  3. var 是修饰变量的关键字, 声明的变量在赋值瞬间,就决定它的类型,不能再修改值
  4. dynamic是修饰变量的关键字。不是在编译时确定实际类型, 而是在运行时。dynamic声明的变量行为与Object一样
  5. 在声明变量时,可以选择加上具体 类型:int x = 20
  6. 对于局部变量,按照目前Dart代码风格推荐,使用var修饰
void main() {
  Object i = 5;
  i = "Juice";
  var j = "Juice";
  // j=10;不允许再修改j的值了,已经确定它是String类型了,编译错误
  var k;//这种情况下,编译时认为k为Object类型,所以以下两种操作成立
  k = "Juice";
  k = 100;
  dynamic z = "Juice"; //运行时,动态确定z是什么类型
  z = 8;
}
//参数a是dynamic隐式修饰
void test(a) {}
final与const区别
  1. final是运行时常量,一个 final 变量只能被设置一次
  2. const是编译器常量,它的值在编译期确定,能让代码运行更高效
  3. 两者区别在于:const变量是一个编译时常量,final变量在第一次使用时被初始化。
void main() {
  //运行期常量
  final int i = 3;
  final j = 3;
  const k = 5;
   //const q=i;
  //由于i是运行时确定的常量,故不能赋值给q
  //但是可以把k赋值给它
 const q = k;
}
  1. 类的变量可以为 final 但是不能是 const 。如果 const 变量在类中,需要定义为static const静态常量(static 同java)
    dart语法.png

猜你喜欢

转载自blog.csdn.net/qq_22255311/article/details/111773827