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

目录浏览的网站做网站文字编辑工作好不好

目录浏览的网站,做网站文字编辑工作好不好,适合做网站的软件有哪些,百度教育小程序前言 基本类型是语言的基础。 Dart 语言支持以下基础类型#xff1a;Numbers(int、double)#xff0c; 整形Strings(String), 字符串Booleans(bool) , 布尔型Records((value1,value2)) 记录Lists(List ) 数组Sets(Set) 集合Maps(Map) 映射Runes(Runes,通常由 characters AP…前言 基本类型是语言的基础。 Dart 语言支持以下基础类型Numbers(int、double) 整形Strings(String), 字符串Booleans(bool) , 布尔型Records((value1,value2)) 记录Lists(List ) 数组Sets(Set) 集合Maps(Map) 映射Runes(Runes,通常由 characters API 代替) 字符Symbols(Symbol) 符号型null Null 空值 因为 Dart 中的每个变量都指向一个对象–一个类的实例–所以通常可以使用构造函数来初始化变量。 其他一些类型在 Dart 语言中也有特殊作用 Object : 除 Null 外所有 Dart 类的超类Enum : 所有枚举的超类。Future and Stream : 用于异步支持。Iterable : 用于for-in loops 和 同步的 generator functions。Never : 表示表达式永远无法成功完成求值。最常用于总是抛出异常的函数。dynamic : 表示要禁用静态检查。通常应使用 Object 或 Object?。void 表示某个值从未使用过 通常用作返回类型。 基础类型介绍 Numbers - int 整数值不大于 64 位具体取决于平台。在本地平台上数值范围为 -263 至 263 - 1。在web上整数值以 JavaScript 数64 位浮点数值不含小数部分表示数值范围为 -253 至 253 - 1。 Number-double IEEE 754 标准规定的 64 位双精度浮点数。就是小数 int 和 double 都是 num 的子类型。num 类型包括基本运算符如 、-、/ 和 *还包括 abs()、ceil() 和 floor() 等方法位运算符如 在 int 类中定义。(如果 num 及其子类型中没有你想要的内容dart:math 库可能会有。 void numFn() {int age 18;double pi;pi 3.14;age 17;print(${pi},${age}); }您也可以将变量声明为 num。如果这样做变量就既可以有整数值也可以有小数值 num x 1; x 2.5;String 字符串 一个 Dart 字符串String 对象包含一个 UTF-16 代码单元序列。您可以使用单引号或双引号来创建字符串 var s1 Single quotes work well for string literals.;var s2 Double quotes work just as well.;var s3 It\s easy to escape the string delimiter.;var s4 Its even easier to use the other delimiter.;您可以使用 ${expression} 将表达式的值放入字符串中。如果表达式是一个标识符则可以跳过 {}。要获取对象对应的字符串Dart 会调用对象的 toString() 方法。 var s1 Single quotes work well for string literals.;var s2 Double quotes work just as well.;var s3 It\s easy to escape the string delimiter.;var s4 Its even easier to use the other delimiter.;print(${s1}${s2} ${s3} ${s4.toUpperCase()});可以使用相邻字符串字面量或 运算符来连接字符串 var s5 zsk 666 嘿嘿;var s6 zsk 18;print(s5);print(s6);另一种创建多行字符串的方法使用带单引号或双引号的三引号 var s1 You can create multi-line strings like this one. ;var s2 This is also a multi-line string.;您可以用 r 作为前缀来创建 原始 字符串,不然里面的特殊字符会被处理 var s rIn a raw string, not even \n gets special treatment.;var ss In a raw string, not even \n gets special treatment.;print(s);print(ss);字面字符串是编译时常量只要任何插值表达式是求值为空或数值、字符串或布尔值的编译时常量即可。 const aConstNum 12;const aConstBool true;const aConstString a constant string;const validConstString asdasd$aConstNum asd$aConstBool 哈哈$aConstString;print(validConstString);Booleans 布尔型 为了表示布尔值Dart 提供了一种名为 bool 的类型。只有两个对象具有 bool 类型布尔字面量 true 和 false它们都是编译时常量。 Runes and grapheme clusters 符文和词组 在 Dart 中符文揭示了字符串的 Unicode 代码点。您可以使用字符包来查看或操作用户感知的字符也称为 Unicode扩展词组。 Unicode 为世界上所有书写系统中使用的每个字母、数字和符号定义了唯一的数值。由于 Dart 字符串是 UTF-16 代码单元的序列因此在字符串中表达 Unicode 代码点需要特殊的语法。表达 Unicode 代码点的通常方法是 \uXXXX其中 XXXX 是 4 位十六进制值。例如心形字符♥就是 \u2665。要指定多于或少于 4 位十六进制数请将数值置于大括号中。例如大笑表情符号 就是 \u{1f606}。 var hh 哈哈哈哈 \u{1f606} !;var loveXin \u{2665};print(hh loveXin);Symbols 符号对象代表 Dart 程序中声明的运算符或标识符。您可能永远都不需要使用符号但对于通过名称来引用标识符的 API 来说符号是非常宝贵的因为最小化会改变标识符名称但不会改变标识符符号。 要获取标识符的符号可使用符号文字即 # 后跟标识符 #radix #bar符号字面量是编译时常量。 这和js的Symbol作用相似。 Records 记录 记录要求语言版本至少为 3.0。 记录是一种匿名、不可变的集合类型。与其他集合类型一样记录可以将多个对象捆绑成一个对象。与其他集合类型不同记录是固定大小、异构和类型化的。 记录是真实的值你可以将它们存储在变量中、嵌套它们、将它们传递给函数或从函数中传递它们还可以将它们存储在数据结构如列表、映射和集合中。 记录表达式是以逗号分隔的命名或位置字段列表用括号括起来 var record (first, a: 2, b: true, last);记录类型注释是以逗号分隔的类型列表用括号括起来。您可以使用记录类型注解来定义返回类型和参数类型。例如以下 (int, int) 语句就是记录类型注解 (int, int) swap((int, int) record) {var (a, b) record;return (b, a); }记录表达式和类型注解中的字段反映了函数中参数和参数的工作方式。位置字段直接放在括号内, 如果你前面注解了类型和位置个数不能再增加。 如果你想在记录中指定对象的参数如下 在记录类型注释中命名字段位于类型和名称成对的大括号分隔部分内在所有位置字段之后。在记录表达式中名称放在每个字段值的前面后面是冒号。 // Record type annotation in a variable declaration: ({int a, bool b}) record;// Initialize it with a record expression: record (a: 123, b: true);记录类型中已命名字段的名称是记录类型定义或记录形状的一部分。两个记录的命名字段名不同其类型也就不同 // 这两个不相等 ({int a, int b}) recordAB (a: 1, b: 2); ({int x, int y}) recordXY (x: 3, y: 4);在记录类型注释中您也可以为位置字段命名但这些名称纯粹是为了记录并不影响记录的类型,意思是如果值不是键值对的那种注解时命名字段没屁用就看看。 (int a, int b) recordAB (1, 2); (int x, int y) recordXY (3, 4);recordAB recordXY; // OK.获取记录里的值 记录字段可通过内置的获取器访问。记录是不可变的因此字段没有设置器。意思是只能获取不能改变。 已命名字段使用同名的获取器。位置字段使用名称为 $ 的获取器而不使用命名字段 var record (first, a: 2, b: true, last);print(record.$1); // Prints first print(record.a); // Prints 2 print(record.b); // Prints true print(record.$2); // Prints last记录里的类型 单个记录类型没有类型声明。记录是根据其字段类型进行结构类型化的。记录的形状字段集、字段类型及其名称如有唯一地决定了记录的类型。 记录中的每个字段都有自己的类型。同一记录中的字段类型可能不同。无论从记录中访问哪个字段类型系统都会知道每个字段的类型 (num, Object) pair (42, a);var first pair.$1; // Static type num, runtime type int. var second pair.$2; // Static type Object, runtime type String.记录相等性 如果两条记录具有相同的形状字段集且相应字段的值相同则这两条记录是相等的。由于已命名字段的顺序不是记录形状的一部分因此已命名字段的顺序不会影响相等性。 (int x, int y, int z) point (1, 2, 3); (int r, int g, int b) color (1, 2, 3);print(point color); // Prints true. ({int x, int y, int z}) point (x: 1, y: 2, z: 3); ({int r, int g, int b}) color (r: 1, g: 2, b: 3);print(point color); // Prints false. Lint: Equals on unrelated types.记录在函数中返回 记录允许函数将多个值捆绑在一起返回。要从返回值中检索记录值可使用模式匹配将值重组为局部变量。 // 创建一个函数返回类型(String,int)的记录(String, int) userInfo(MapString, dynamic json) {return (json[name] as String, json[age] as int);}// 使用final json String, dynamic{name: ZSK,age: 10,color: blue,};print(userInfo(json));Collections 集合 lists列表 在几乎所有编程语言中最常见的集合可能就是数组或有序的对象组。在 Dart 中数组是 List 对象因此大多数人都称其为列表。 Dart 列表的字面形式是用逗号分隔的表达式或值列表并用方括号[]括起来。下面是一个简单的 Dart list 这个列表是有类型的像下面的就会推断成整数类型的列表增加只能增加相同类型的数据。 var list [1, 2, 3];列表使用基于零的索引其中 0 是第一个值的索引list.length - 1 是最后一个值的索引。您可以使用 .length 属性获取列表的长度并使用下标操作符[]访问列表的值 var list [Car,Boat,Plane, ];要创建一个编译时常量的 list请在 list 字面之前添加 const var constantList const [1, 2, 3]; // constantList[1] 1; // This line will cause an error.Sets 集合 Dart 中的集合是由唯一项组成的无序集合。Dart 通过集合文字和集合类型提供对集合的支持。 下面是一个简单的 Dart 集合使用集合字面量创建 要创建空集可在类型参数前使用 {}或将 {} 赋值给 Set 类型的变量 var halogens {fluorine, chlorine, bromine, iodine, astatine};var names String{}; // SetString names {}; // 这样也可以 // var names {}; // 这样不行这是声明的map.映射字面量的语法与集合字面量的语法类似。由于 map 字面量出现在前面{} 默认为 Map 类型。如果您忘记了 {} 的类型注解或它所赋值的变量那么 Dart 将创建一个 Mapdynamic, dynamic 类型的对象。 使用 add() 或 addAll() 方法将项目添加到现有集合中 var elements String{}; var halogens {fluorine, chlorine, bromine, iodine, astatine}; elements.add(fluorine); elements.addAll(halogens);使用 .length 获取集合中的项目数 assert(elements.length 5);要创建一个编译时常量的集合请在集合字面之前添加 const final constantSet const {fluorine,chlorine,bromine,iodine,astatine, }; // constantSet.add(helium); // This line will cause an error.Maps 一般来说映射是一个关联键和值的对象。键和值都可以是任何类型的对象。每个键只能出现一次但可以多次使用同一个值。Dart 对映射的支持由映射字面量和映射类型提供。 下面是几个简单的 Dart map都是使用map字面量创建的 var gifts {// Key: Valuefirst: partridge,second: turtledoves,fifth: golden rings };var nobleGases {2: helium,10: neon,18: argon, };Dart 推断 gifts 为 MapString, String 类型而 nobleGases 为 Mapint, String 类型。如果您尝试向任一映射添加错误类型的值分析器或运行时将引发错误。有关详细信息请阅读类型推断。 您可以使用 Map 构造函数创建相同的对象 var gifts MapString, String(); gifts[first] partridge; gifts[second] turtledoves; gifts[fifth] golden rings;var nobleGases Mapint, String(); nobleGases[2] helium; nobleGases[10] neon; nobleGases[18] argon;如果您来自 C# 或 Java 等语言您可能会希望看到 new Map() 而不仅仅是 Map()。在 Dart 中new 关键字是可选的。详情请参阅使用构造函数。 使用下标赋值操作符[]向现有映射添加新的键值对 var gifts {first: partridge}; gifts[fourth] calling birds; // Add a key-value pair使用下标操作符[]从地图中读取值,如果查找的键不在地图中则返回空值 var gifts {first: partridge}; assert(gifts[first] partridge);// 不存在 assert(gifts[fifth] null);使用 .length 获取映射中键值对的数量 var gifts {first: partridge}; gifts[fourth] calling birds; assert(gifts.length 2);要创建一个编译时常量的映射请在映射字面之前添加 const final constantMap const {2: helium,10: neon,18: argon, }; 相关操作 展开符。Dart 支持 list、map 和 set 字面中的展开操作符…和空感知展开操作符…展开操作符为在集合中插入多个值提供了一种简洁的方法。 var list [1, 2, 3]; var list2 [0, ...list]; assert(list2.length 4); var list2 [0, ...?list3]; assert(list2.length 1);流程控制。 Dart 提供了用于 list、map 和 set 字面的集合 if 和集合 for。您可以使用这些操作符通过条件if和重复for来构建集合。 var nav [Home, Furniture, Plants, if (promoActive) Outlet];var nav [Home, Furniture, Plants, if (login case Manager) Inventory]; var listOfInts [1, 2, 3]; var listOfStrings [#0, for (var i in listOfInts) #$i]; assert(listOfStrings[1] #1);结语 结束了。
http://www.yutouwan.com/news/17387/

相关文章:

  • 广州网站推广方案会ps的如何做网站
  • 上海装饰公司网站建设做网站要多少钱新乡
  • 服务器网站域名系统装置凡科和有赞哪个好用
  • 新竹自助网站网络营销的基本职能
  • 免费网站申请域名com网站开发实习过程
  • 怎样做展示型网站网站seo优化培训
  • 关于网站建设交易流程的描述一句话煎蛋网 wordpress
  • 网站管理手册充值网站源码php
  • 如何查做的网站排名python前端开发需要学哪些东西
  • 绵阳做公司网站想做苗木生意网站怎么怎么做
  • 做搜狗网站排名wordpress 爆路径
  • 营销型门户网站证明做二维码打款网站链接
  • 网站建设功能模块价格wordpress淘宝客跳转
  • 汽车案例网站淮安住房与城乡建设部网站
  • 聚美优品网站建设导向wordpress导入主题数据
  • 国际网站开发客户的技巧网站建设开发公司有哪些
  • 兴宁网站建设设计易企秀网页制作教程
  • 池州建行网站网络安全工程师需要学什么
  • 深圳建网站公司长春网站运做思路
  • 商城网站源文件下载杭州正规企业网站建设
  • 世界十大市场调研公司北京谷歌seo公司
  • 用自己的身份做网站备案3秒后自动跳转网页
  • 小勇cms网站管理系统pascal建设网站
  • 做课题查新网站办公室装修设计多少钱
  • 乐清网站建设乐清网站设计网站建设的资料的准备
  • 外国做袜子的网站关于建立网站的计划
  • 绍兴市高速公路建设指挥部网站北京建筑网
  • 手机网站 教程利用wps做网站
  • 网站推广包括哪些vs手表官网
  • 北京网站建设排名浩森宇特西安网站建设软件