【Dart语言】从零开始学习

〇、零碎的基础知识

  • Dart 有固定的入口函数
// 从这里开始执行
void main(){
  ...
}
  • 一切空值皆为 null

一、语法 (主要与 JavaScript 对比)

  • 括号里面写对象参数时不需要大括号围住,直接写
hell(param1:'string',param2:"string2",...);
  • 大括号里面的每条完整执行语句尾部都必须得有 ; 跟着。但是作为对象的键值对允许最后一项有多余的逗号,
  • 参数不是想传就传的,得先声明我需要参数,你才能给我传,不声明就传参和声明后不传参都是禁忌。

二、新语法

  • ??运算符的意思是当一个东西没有值时,将??后面的值赋给那个东西。属于默认值赋值操作。(暂时不可用)
  • ?.运算符的意思是进行了一次判空操作,只有当 optionalThing 不为空时才会调用 isEnabled。optionalThing 为空时返回 null

示例:

// 当 optionalThing 不为空时调用参数 isEnabled,为空则返回 false
optionalThing?.isEnabled??false

// 这种写法是不合法的
optionalThing?.isEnabled == false
// Dart 语言中 null 不可与 true/false 划等号
  • ...? 属于是 ... 的一个扩展。
// 这句话的意思就是先判断 arr 是否为空,如果为空则不进行扩展

const arr = [4,5,6];
const arr2 = [1,2,3,...?arr];
  • ..级联操作符使用实例:
getObj()
  ..text = "确定"
  ..class.add("button")
  ..onClick.listen((e)=>{...})

等价于

var button = getObj();
button.text="确定";
button.class.add("button");
button.onClick.listen((e)=>{...});

你可能感兴趣的:(【Dart语言】从零开始学习)