当前位置: 首页 > news >正文

沈阳网站建设 熊掌号营销软件代理推广

沈阳网站建设 熊掌号,营销软件代理推广,如何做网站预览,网站地图怎么上传关于作者: CSDN内容合伙人、技术专家, 从零开始做日活千万级APP,带领团队单日营收超千万。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业化变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、简介3.1 var 关键字3.2 dynamic 和 Object3.3 fi…

关于作者: CSDN内容合伙人、技术专家, 从零开始做日活千万级APP,带领团队单日营收超千万。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业化变现、人工智能等,希望大家多多支持。

目录

  • 一、导读
  • 二、概览
  • 三、简介
    • 3.1 var 关键字
    • 3.2 dynamic 和 Object
    • 3.3 final 和 const
    • 3.4 空安全(null-safety)
    • 3.5 函数声明
    • 3.6 函数作为变量
    • 3.7 函数作为参数
    • 3.8 可选的位置参数
    • 3.9 可选的命名参数
    • 3.10 mixin
  • 四、Future 异步支持
    • 4.1 Future.then
    • 4.2 Future.catchError
    • 4.3 Future.whenComplete
    • 4.4 Future.wait
    • 4.5 async/await
  • 五、 Stream
  • 六、 推荐阅读

在这里插入图片描述

一、导读

我们继续总结学习flutter基础知识,温故知新。

本文主要介绍dart语言的基础知识。

二、概览

Dart 在静态语法方面和 Java 非常相似,如类型定义、函数声明、泛型等,
而在动态特性方面又和 JavaScript 很像,如函数式特性、异步支持等。
除了融合 Java 和 JavaScript 语言之所长之外,Dart 也具有一些其他很有表现力的语法,
如可选命名参数、…(级联运算符)和?.(条件成员访问运算符)以及??(判空赋值运算符)

三、简介

Dart 本身是一个强类型语言,任何变量都是有确定类型的

3.1 var 关键字

Dart 中 var 关键字,可以声明一个变量,并赋予一个初始值,

可以接收任何类型的变量,Dart 中 var 变量一旦赋值,类型便会确定,则不能再改变其类型

var t = "hi world";
// 下面代码在dart中会报错,因为变量t的类型已经确定为String,
// 类型一旦确定后则不能再更改其类型。
t = 1000;

对于变量的声明,也可显式的声明类型,比如:

var name = 'Alice'; // 自动推断类型为 String
int age = 25;       // 显式声明类型

3.2 dynamic 和 Object

dynamic 和 Object可以声明一个变量,并赋予一个初始值

Dart 中所有类型都是Object的子类(包括Function和Null),所以任何类型的数据都可以赋值给Object声明的对象。

dynamic与Object声明的变量都可以赋值任意对象,且后期可以改变赋值的类型

dynamic t;              //声明的对象编译器会提供所有可能的组合
Object x;               //声明的对象只能使用 Object 的属性与方法, 否则编译器会报错
t = "hi world";
x = 'Hello Object';
//下面代码没有问题
t = 1000;
x = 1000;

dynamic 的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误,比如下面代码在编译时不会报错,而在运行时会报错:

print(a.xx);           // a是字符串,没有"xx"属性,编译时不会报错,运行时会报错

3.3 final 和 const

final 关键字声明的变量,只能被赋值一次,且类型不能改变,
const 关键字声明的变量,只能被赋值一次,且类型不能改变,且编译时确定,不能在运行时改变。

//可以省略String这个类型声明
final str = "hi world";
//final String str = "hi world"; const str1 = "hi world";
//const String str1 = "hi world";

3.4 空安全(null-safety)

int i = 8; //默认为不可空,必须在定义时初始化。
int? j; // 定义为可空类型,对于可空变量,我们在使用前必须判空。// 如果我们预期变量不能为空,但在定义时不能确定其初始值,则可以加上late关键字,
// 表示会稍后初始化,但是在正式使用它之前必须得保证初始化过了,否则会报错
late int k;
k=9;

如果一个变量我们定义为可空类型,在某些情况下即使我们给它赋值过了,
但是预处理器仍然有可能识别不出,这时我们就要显式(通过在变量后面加一个”!“符号)告诉预处理器它已经不是null了,比如:

class Test{int? i;Function? fun;say(){if(i!=null) {print(i! * 8); //因为已经判过空,所以能走到这 i 必不为null,如果没有显式申明,则 IDE 会报错}if(fun!=null){fun!(); // 同上}}
}

上面中如果函数变量可空时,调用的时候可以用语法糖:

fun?.call() // fun 不为空时则会被调用

3.5 函数声明

Dart是一种真正的面向对象的语言,所以即使是函数也是对象,并且有一个类型Function。
这意味着函数可以赋值给变量或作为参数传递给其他函数,这是函数式编程的典型特征。

bool isNoble(int atomicNumber) {return _nobleGases[atomicNumber] != null;
}// 对于只包含一个表达式的函数,可以使用简写语法:
bool isNoble (int atomicNumber)=> true ;// Dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理
// 不指定返回类型,此时默认为dynamic,不是bool
isNoble(int atomicNumber) {return _nobleGases[atomicNumber] != null;
}

typedef bool CALLBACK();//不指定返回类型,此时默认为dynamic,不是bool
isNoble(int atomicNumber) {return
http://www.cadmedia.cn/news/1631.html

相关文章:

  • 公司网站建设的目的成都网站快速排名优化
  • 靠软件下载软件大全西安seo网站建设
  • 114推广平台四川seo
  • 韶关市开发区建设局网站保健品的营销及推广方案
  • 一站式网站建设费用惠州seo代理商
  • 中国建设银行济南招聘信息网站网站优化推广的方法
  • 山东起诉网站服务平台旺道seo优化
  • 河南郑州建设网站semir森马
  • 都江堰网站建设公司百度关键词搜索排行榜
  • 民用网络架构sem和seo是什么职业
  • 深圳外贸soho网站建设搜索热门关键词
  • 目前最好的网站建设企业南宁seo计费管理
  • 可以免费建手机网站营销必备十大软件
  • 宝安公司网站制作哪家公司好海外aso优化
  • 网站快速建设入门教程windows优化大师有用吗
  • saas系统seo服务外包价格
  • 杂网网站建设百度网页pc版登录
  • 网站建设费用报价表十八大禁用黄app入口
  • 网站模板 php冯宗耀seo教程
  • 关于网站建设的合同范本正规种子搜索引擎 磁力天堂
  • 如何查看网站是否被降权广州各区风险区域最新动态
  • 重庆做网站怎么做百度seo免费推广教程
  • 服装网站建设前景分析深圳债务优化公司
  • 国内php开发的网站建设seo培训公司
  • 政府网站建设作方案链接制作软件
  • 邢台企业网站建设报价sem是什么缩写
  • 做APP好还是建设网站好手机百度云网页版登录
  • 网站建设考试自媒体怎么入门
  • 公司做网站留言板西安百度网站快速排名
  • 建站工具 ip上海谷歌优化