关于Dart的一些知识点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Dart的一些知识点相关的知识,希望对你有一定的参考价值。

$符号

Dart 中可以在字符串通过$variableName或 $expression 语法插入变量,类似shell脚本

例如

var s = "hello";
print($s, world!);
//可以简化成:
print($s, world!);
//调用方法
print($s.toUpperCase(), world!);

==可以直接用来比较字符串

Dart 可以直接通过==来比较字符串:

var s1 = "hello";
var s2 = "HELLO";
assert(s1.toUpperCase() == s2);

注意: 在Dart的条件语句if和assert表达式里面,它们的值必须是bool类型,这点和 javascript 不同。

implements和extends以及mixin的区别

  • 继承 ---- extends 典型的面向对象的继承,用于扩展父类; class B extends A , 不强制覆写每一个父类中的方法(getter,setter 必须覆写); 在 Dart 只能继承一个类

  • 接口 ---- interface 当你不想提供方法的实现而只想提供它们的 API 时,使用接口; class C implements B ,你必须覆写B中所有的方法; implements 可以扩展到多个类

  • 混入 ---- mixin 共享相同逻辑的代码段; class B with A , 在B中你可以使用A的所有方法,可以通过 on 关键字限制 mixin 的使用范围; with 可以扩展到多个 mixin

.. 级联操作

作用

可以让你在同一个对象上连续调用多个对象的变量或方法,如下面的例子:

class Person 
  var name;
  var age;
  var gender="man";
  Person(this.name, this.age);
  Person.genderNew(this.name, this.age,this.gender);
  printInfo() 
    print("$this.name,$this.age,$this.gender");
  


main() 
  var p = new Person.genderNew(A, 20,"woman");
  p.printInfo();
  //下面为级联操作
  p
    ..name = "B"
    ..age = 30
    ..gender = "man"
    ..printInfo()
    ..name = "C"
    ..printInfo();

运行结果如下:

A,20,woman
B,30,man
C,30,man

is as

其中is是类型判断操作符,而as是类型转换操作符,也就是常说的强制转换。

以上是关于关于Dart的一些知识点的主要内容,如果未能解决你的问题,请参考以下文章

关于JQuery的一些知识点

Dart语言入门四

1.关于Spring Cloud的一些基本知识

『Flutter开发实战』一小时掌握Dart语言

持续发烧,聊聊Dart语言的并发处理,能挑战Go不?

有关于多态的一些拓展知识——你值得拥有