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

点网站建设seo优化服务公司

点网站建设,seo优化服务公司,企业网站模板html下载,惠州最专业的网站建设公司文章目录 Dart语言特性一、变量变量定义变量默认值 二、常量三、数据类型数字类型字符串布尔值列表集合映射符文 运算符级联运算符类型判定符 Dart语言特性 一切皆为对象,在Dart语言中所有变量类型都是对象,null也是对象,函数也是对象&#…

文章目录

  • Dart语言特性
  • 一、变量
    • 变量定义
    • 变量默认值
  • 二、常量
  • 三、数据类型
    • 数字类型
    • 字符串
    • 布尔值
    • 列表
    • 集合
    • 映射
    • 符文
  • 运算符
    • 级联运算符
    • 类型判定符


Dart语言特性

  • 一切皆为对象,在Dart语言中所有变量类型都是对象,null也是对象,函数也是对象,所有对象都继承自Object。
  • Dart是强类型语言,但是变量类型声明是可选的,Dart可以推断出变量的类型。
  • Dart支持泛型类型,类似java的泛型。
  • 函数支持嵌套。
  • 不支持public,protected和private关键字,在Dart语言中,可以通过下划线(_)开头命名来表示私有的,反之就是公开的。

一、变量

变量定义

通过var定义并初始化变量

var name = 'ABC';

Dart语言是强类型语言,虽然这里没有指定变量类型,但Dart编译器可以通过首次初始化推断变量的类型。

String name = 'ABC'; //我们也可以直接定义String类型并初始化

变量默认值

因为在Dart语言中一切皆为对象,所以在定义变量时,未初始化的值都是null

int sum;  //这里的sum的默认值是null

二、常量

在Dart中的const 和 final 都可以用来定义一个不可变的常量

final name = 'Jack'; 
final String secondName = 'Rose'; //同样的可以指定或不指定数据类型
const age = 18;

final和const的区别就是在编译的时候const的值就已经确定了,而final不一定,可能需要运行的时候才能确定值。

final x =new DataTime.now(); //将x变量的值,初始化为当前时间,x的值只有在运行的时候才能确定

三、数据类型

Dart 支持以下数据类型:

  • 数字(number)
  • 字符串(string)
  • 布尔值(boolean)
  • 列表(list)
  • 集合(set)
  • 映射(map)
  • 符文(rune)
  • 符号(Symbol)

数字类型

Dart中数字类型有2种类型:

  • 整数:整数表示没有小数的的数值,使用int关键字表示。
  • 双精确度:Dart中表示64位浮点数,使用double关键字表示。
var x = 123;
var y = 1.199;

从Dart2.1开始,必要时整数会自动转换为双精确度:

double z = 10; //相当于double z = 10.0; 在2.1之前是报错的

字符串

Dart 中字符串是一组 UTF-16 单元序列,符文用于表示UTF-32单元序列。用String关键字表示字符串,可以使用单引号或双引号来创建字符串。

var s1 = 'abcd';
var s2 = "ABCD";
//若是使用的是双引号,能够内嵌单引号
//固然,若是使用的是单引号,能够内嵌双引号,不然须要“\”转义
//var s3 = ‘It\’s ok!’;
var s3 = "It's ok!";

Dart允许你使用+号进行字符串的拼接。

String str = 'hello ' + 'world!';

可以使用${expression}将表达式的值放在字符串中。

String str = 'null';
String newStr = '这是${str}';
print('This is $str');

以下是字符串和数字之间相互转换的方式。

// String转int
var a = int.parse('1');
print(a == 1);// String转double
var b = double.parse('1.1');
print(b == 1.1);// int转String
var c = 1.toString();
print(c == '1');// double转String
var d = 3.14159.toStringAsFixed(2);
print(d == '3.14');

Dart允许使用带有单引号或双引号的三引号创建多行字符串(保留缩进格式)。

var s1 = '''这是多行字字符串s1。
''';
print(s1);var s2 = """这是多行字字符串s2。
""";
print(s2);

布尔值

Dart中可以使用bool关键字来表示布尔类型

var isTrue = true;
bool isFalse = false;

列表

在Dart中,使用List对象来表示数组。

// 初始就赋值了,限定了类型
// var list1 = <int>[1,2,3];
var list1 = [1,2,3]; 
List<int> list2 = [4,5,6];
print(list1.length); // 3
print(list1[1] == 2);
list1[1] = 1;
print(list1[1] == 1);

Dart2.3引入了扩展运算符(…)和空值感知运算符(…?),他提供了一种将多个元素插入集合的简洁方法。
例如,使用扩展运算符将列表的所有元素插入另一个列表:

var list1 = [1,2,3];
var list2 = [0,...list1];
print(list2); // [0,1,2,3]

如果扩展运算符右侧的表达式可能为null,则可以通过使用支持null的扩展运算符来避免异常:

var list1;
var list2 = [0,...?list1];
assert(list2.length == 1);

Dart2.3还引入了if和collection的集合,使用它在if条件和for循环构建集合。
下面是一个使用集合的示例,如果要创建一个包含三个或四个项目的列表:

// nav的长度可能是三个或者四个
var nav = ['Aa','Bb','Cc',if(isTrueOrFalse) 'Dd'];

这是一个使用集合来操作列表项目,然后将他们添加到另一个列表中的示例:

var listOfInts = [1,2,3];
var listOfStrings = ['#0',for(var i in listOfInts) '#$i'];
print(listOfStrings); // [#0,#!,#2,#3]

集合

Dart中的Set是无序的且唯一想的集合。

var set = {11,22,33,44};

创建一个空集合,需要赋上类型参数,否则就不是创建Set而是Map了。

// 两种方式都可以创建空集合
var set = <String>{};
Set<String> set2 = {};
//  var set = {};  这不是创建空Set,而是创建一个Map

部分使用方式:

var set = <String>{};
var set2 = {'Aa','Bb','Cc'};
//添加元素
set.add('Dd');
set.addAll(set2);
print(set.length);

映射

通常Map是关联键和值的对象,键和值都可以是任意类型的对象,每个键只出现一次,但可以多次使用相同的值。

var map = {1:'Aa',2:'Bb',3:'Cc'
};var map2 = Map();
map2[1] = 'Aa';
map2[2] = 'Bb';
map2[3] = 'Cc';
print(map2.length); // 3

符文

在Dart中,Runes用来表示字符串中的UTF-32的编码字符。
Unicode 定义了一个全球的书写系统编码, 系统中使用的所有字母,数字和符号都对应唯一的数值编码。 由于 Dart 字符串是一系列 UTF-16 编码单元, 因此要在字符串中表示32位 Unicode 值需要特殊语法支持。

表示 Unicode 编码的常用方法是, \uXXXX, 这里 XXXX 是一个4位的16进制数。 例如,心形符号 (♥) 是 \u2665。 对于特殊的非 4 个数值的情况, 把编码值放到大括号中即可。 例如,emoji 的笑脸 (�) 是 \u{1f600}。

var clapping = '\u{lf44f}';Runes input = new Runes('\u2665 \u{lf605} \u{lf60e} \u{lf596} \u{lf44d}'
);
print(new String.fromCharCodes(input));

运算符

在Dart中,加减乘运算基本相同,但唯独除法时要单独注意下。

print(5 / 2); // 结果为2.5
print(5 ~/ 2); //结果为2

级联运算符

级联运算符(…)可用于通过对象发出一系列调用。

class Student{void study() {print('study');}void play() {print('play');}
}void main() {new Student()..study()..play();
}

类型判定符

  • as:将对象强制转换为特定类型
  • is:类型判定
http://www.yidumall.com/news/40813.html

相关文章:

  • 做网站精英新东方雅思培训机构官网
  • 网站开发用什么服务器重庆seo网站推广费用
  • 如何建设软件下载网站企业网络营销策划方案
  • ppt素材网站建设流程图北京建站工作室
  • 网站建设需要写语句吗登封网络推广
  • 网站设计需要在哪方面提升推广平台有哪些
  • 广州电子商城网站建设爱链接购买链接
  • 嘉兴网站公司哪家好福清seo
  • 泰国如何做网站推广手机百度关键词优化
  • 做某个网站接口违法威海百度seo
  • 网站tag页面如何做域名注册哪个平台比较好
  • 有哪些学校的网站做的好处线下课程seo
  • 口碑好网站建设电话学生个人网页制作素材
  • 广东省两学一做网站在线一键生成网页
  • 番禺做网站哪家专业亚马逊的免费网站
  • 动态网站编程基础国际军事最新头条新闻
  • 做贸易的都有什么网站长沙网站seo诊断
  • 如何在分类信息网站做推广国外独立站网站
  • 上海景泰建设股份有限公司网站培训学校招生方案范文
  • 重庆公司网站建设步骤关键词seo排名怎么样
  • 企业建站 源码广告营销策略
  • 网站数据库查询怎么做的站长工具查询官网
  • 强的网站建设明细报价表关联词有哪些小学
  • 自己的简历网站怎么做百度有什么办法刷排名
  • 网站做代理服务器一般开车用什么导航最好
  • wordpress富文本合肥seo排名收费
  • 网站收录目录源码百度官网认证
  • 免费建网站服务最好的公司谷歌网页版登录入口
  • ae模板免费下载网站有哪些营销软文小短文
  • 帝国网站做图片轮播广告网