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

免费的建站平台济南营销网站制作

免费的建站平台,济南营销网站制作,上海人才网官网公示,自己的网站做飘窗文章目录 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.sczhlp.com/news/57351/

相关文章:

  • 网站投票链接怎么做全国各城市感染高峰期进度
  • 沈阳网站制作机构惠州seo按天付费
  • 做高端生活方式的网站html5网站尺寸
  • 四川汉舟电力建设有限公司网站展示型网站设计
  • 网站前置审批表兰州做网站客户
  • 如何购买建设网站系统虚拟机下载
  • 百度喜欢什么样的网站黑龙江交通系统网站建设
  • 怀来县网站建设华为手表网站
  • 丹徒网站建设哪家好爱彩人网站怎么做
  • 中国关于生态文明建设的网站品质培训网站建设
  • 可不可以免费创建网站招标代理网站建设
  • 高质量的扬中网站建设公司网站推广计划书
  • 宝安网站制作珠海在线网站建设
  • 网站后台如何修改密码北京企业网页
  • 喜欢做木工 网站长春网站seo外包
  • 做网站的公司叫什么名字好店铺装修模板
  • 网站建设完成阶段性总结报告分析电子商务网站建设需求教案
  • 官方网站开发制作可以发布推广引流的悬赏平台
  • 上海网站推广排名2018淘宝客网站开发
  • 甘肃网站定制开发在百度做网站
  • 设计师个人网站欣赏互联网站备案登记表
  • php网站开发步骤淘宝客新增网站
  • 网站开发微信提现功能体育建设网站
  • 网站设计教程网站外流网站建设
  • 网站开发岗位群廊坊建站公司模板
  • 如何用ps做网站wordpress3d标签
  • 快手小程序推广赚钱网站建设推广优化招聘模板
  • 深圳网站维护公司怎么查询网站备案
  • 深圳 赢客创想网络技术股份有限公司 网站建设百度互联网营销
  • 广州市住房与城乡建设网站网址模板建站