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

网站好友邀请链接生成 php网站建设与管理培训方案

网站好友邀请链接生成 php,网站建设与管理培训方案,济南如何挑选网站建设公司,领优惠券的小网站怎么做前言 学习dart语言。 注释 Dart 支持单行注释、多行注释和文档注释。 单行注释 单行注释以 // 开头。Dart 编译器将忽略从 // 到行尾之间的所有内容。 void main() {// 这是单行注释print(Welcome to my Llama farm!); }多行注释 多行注释以 /* 开始,以 / 结…

前言

学习dart语言。

注释

Dart 支持单行注释、多行注释和文档注释。

单行注释

单行注释以 // 开头。Dart 编译器将忽略从 // 到行尾之间的所有内容。

void main() {// 这是单行注释print('Welcome to my Llama farm!');
}

多行注释

多行注释以 /* 开始,以 / 结束。Dart 编译器会忽略 / 和 */ 之间的所有内容(除非该注释是文档注释;请参阅下一节)。多行注释可以嵌套。

void main() {/*这是多行注释这是多行注释*/print('Welcome to my Llama farm!');
}

文档注释

文档注释是以 /// 或 /** 开头的多行或单行注释。在连续行中使用 /// 与多行文档注释的效果相同。

在文档注释中,分析器会忽略所有文本,除非这些文本是用括号括起来的。使用括号可以引用类、方法、字段、顶层变量、函数和参数。括号中的名称在文档程序元素的词法范围内解析。

下面是一个文档注释示例,其中引用了其他类和参数:

/// A domesticated South American camelid (Lama glama).
///
/// Andean cultures have used llamas as meat and pack
/// animals since pre-Hispanic times.
///
/// Just like any other animal, llamas need to eat,
/// so don't forget to [feed] them some [Food].
class Llama {String? name;/// Feeds your llama [food].////// The typical llama eats one bale of hay per week.void feed(Food food) {// ...}/// Exercises your llama with an [activity] for/// [timeLimit] minutes.void exercise(Activity activity, int timeLimit) {// ...}
}

变量

dart 可以使用 var、final、const和变量基本类型声明变量和常量。
dart语言比较严格,每句表达式后面必须带分号(;)。

变量基本类型声明

基本类型可以直接声明和赋值。

void main() {int number = 2; //  整数double floatN = 2.0; //  小数String str = 'zsk666'; //  字符串bool flag = true; //  布尔型List arr = [1, 2, 3]; //  数组Set setObj = {'a', 'b', 'c'}; //  集合Map mapObj = {name: 'zsk', 18: 18, 'hh': 'hh'}; //  键值对、映射Null nullV = null; //  nullprint({number, floatN, str, flag, arr, setObj, mapObj, nullV});
}

如果用基本类型来声明,使用前要赋值。如果不赋值,运行会报错。
或者使用避空符?。

String? name;
print(name);

var声明

var 声明一个变量。
若声明时并赋值,这个变量将会根据值类型定义为相应类型。
若没有赋值,则默认值为null,且类型为object。

  var str = 'string的值'; //  字符串var numberV = 18; //  整形Object flag = "2";flag = '23'; //  重新赋值flag = false; //  Object可以跨类型赋值var oV; //  默认值 nullvar oA;oA = 1;oA = 'zsk666';  //  和 Object 声明一样print({str, numberV, flag, oV, oA});

结果:
在这里插入图片描述

final 声明

final声明的变量只能赋值一次,赋值后成为常量,不可更改。

void finalSet() {final oneV;oneV = '哈哈哈';final twoV = '123';twoV = '1'; //  报错,不能再次赋值print({oneV, twoV});
}

const 声明

const 声明的是常量。声明时必须赋值。

/*** const 声明*/
void constSet() {const cV1 = [];// cV1 = 1; //  报错,常量不能赋值const cV2; //  报错,声明时未赋值cV2 = '123';print({cV1});
}

late 声明的变量

后期修饰符有两种用途:

  • 声明一个非空变量,并在声明后初始化该变量。
  • 懒散地初始化一个变量。
    通常情况下,Dart 的控制流分析可以检测到非空变量在使用前被设置为非空值,但有时分析会失败。两种常见的情况是顶层变量和实例变量:Dart 通常无法确定它们是否被设置,因此不会尝试。
    作用1:
    顶层变量未初始化时,在函数中赋值并使用,会报错,此时可以使用避空符(?)或者late。
    要注意的是 使用late 的变量要确定后面使用前已经正确赋值。
late String aaV;
int? aaV3;
void lateSet() {aaV = '123';String aaV2;aaV2 = '2';print({aaV, aaV2, aaV3});
}

作用2:
当作延迟变量使用。类似于懒加载。
例如 :
temperature没有使用,就不会调用readThermometer。使用才会调用。

late String temperature = readThermometer(); // Lazily initialized.

操作符

Dart 支持下表所示的操作符。表中从高到低显示了 Dart 的操作符关联性和操作符优先级,它们是 Dart 操作符关系的近似值。

描述操作符关联性
一元后缀expr++, expr- -, () , [], ?[], . , ?. , !
一元前缀缀++expr, --expr, -expr , !expr , ~expr , await expr
乘除*, / , %, ~/
加减+ , -
左移<< , >>, >>>
位操作 并&
位操作 异或^
位操作 或|
关系符>=, > , <=, < , as , is , is!
比较符== , !=
逻辑 并&&
逻辑 或||
若空符??
条件符expr1 ? expr2 : expr3
连接调用(级联)符… , ?..
计算符= , *=, /=, +=, -=, &=, ^=

在运算符表中,每个运算符的优先级都高于其后各行的运算符。例如,乘法运算符 % 的优先级高于相等运算符 ==(因此先于相等运算符 == 执行),而相等运算符 == 的优先级高于逻辑 AND 运算符 &&。这种优先级意味着下面两行代码的执行方式相同:

// Parentheses improve readability.
if ((n % i == 0) && (d % i == 0)) ...// Harder to read, but equivalent.
if (n % i == 0 && d % i == 0) ...
void main() {//  算数运算assert(2 + 3 == 5);assert(2 - 3 == -1);assert(2 * 3 == 6);assert(5 / 2 == 2.5); // Result is a doubleassert(5 ~/ 2 == 2); // Result is an intassert(5 % 2 == 1); // Remainderassert('5/2 = ${5 ~/ 2} r ${5 % 2}' == '5/2 = 2 r 1');//  自操作int a;int b;a = 0;b = ++a; // 赋值给b之前 自加1.assert(a == b); // 1 == 1a = 0;b = a++; // 赋值给b之后 自加1.assert(a != b); // 1 != 0a = 0;b = --a; // 赋值给b之前 自减1.assert(a == b); // -1 == -1a = 0;b = a--; // 赋值给b之后 自减1.assert(a != b); // -1 != 0print({a, b});//  比较assert(2 == 2);assert(2 != 3);assert(3 > 2);assert(2 < 3);assert(3 >= 3);assert(2 <= 3);//  级联 调用后返回实例,而不是调用后的返回值// var paint = Paint()//   ..color = Colors.black//   ..strokeCap = StrokeCap.round//   ..strokeWidth = 5.0;
}

库和导入

导入和库指令可帮助您创建模块化和可共享的代码库。库不仅提供应用程序接口(API),而且还是一个隐私单位:以下划线 (_) 开头的标识符只能在库内可见。即使没有使用库指令,每个 Dart 文件(及其部分)都是一个库。

库可以使用包来发布。

如果您对 Dart 为什么使用下划线而不是 public 或 private 等访问修饰关键字感到好奇,请参阅 SDK 问题 33383。

使用库

使用 import 来指定如何在另一个库的作用域中使用一个库中的命名空间。

例如,Dart Web 应用程序通常使用 dart:html 库,它们可以这样导入:

import 'dart:html';

导入所需的唯一参数是指定库的 URI。

  • 对于内置库,URI 采用特殊的 dart: 方案。

  • 对于其他库,可以使用文件系统路径或 package: 方案。
    package: 方案指定由包管理器(如 pub 工具)提供的库。例如

    import 'package:test/test.dart';
    

库别名

如果要导入的库的内容名称有冲突,可以另起一个别名。
例如,如果 library1 和 library2 都有一个 Element 类,那么代码可能如下:

import 'package:lib1/lib1.dart';
import 'package:lib2/lib2.dart' as lib2;// Uses Element from lib1.
Element element1 = Element();// Uses Element from lib2.
lib2.Element element2 = lib2.Element();

使用库的部分内容

如果只想使用程序库的一部分,可以选择性地导入程序库。例如

// Import only foo.
import 'package:lib1/lib1.dart' show foo;// Import all names EXCEPT foo.
import 'package:lib2/lib2.dart' hide foo;

实操

创建 two.dart

/// 这是 two.dart
// library;class Two {void start() {print('two ,start');}
}```创建 one.dart,导入two.dart并使用。```dart
import './two.dart';
import './two.dart' as TwoL;void main() {print("Hello,world!");Object name = 2;Two()..start();TwoL.Two()..start();
}

结果:
在这里插入图片描述

结语

结束了。 Dart官网.

http://www.yayakq.cn/news/514602/

相关文章:

  • 亿藤互联网站建设开发河南安阳区号
  • 一个做品牌零食特卖的网站亚马逊网站建设进度计划书
  • 网页设计国外设计欣赏网站py网站开发视频教程
  • 厦门杏林建设企业网站网站建设 自查表
  • 网站建设类课题的研究方法网页制作中网站名称怎么做
  • 做网站Linux湖北省建设厅网站a群
  • 河南便宜网站建设做的网站怎么放视频
  • 怎样做网络推广软件系统优化游戏性能的软件
  • 网站做到赣州第一名要多少钱设计公司网站模板
  • 上海湖南网站建设优秀网页欣赏
  • 广东网站制作报价惠州网站建设排名
  • 国内简约网站东莞网站seo
  • 廊坊做网站的企业哪家好万远翔网站建设
  • js代码 嵌入网站门户网站改版建议
  • 制作快递网站wordpress 连接微博
  • 宁波网站开发公司怎么样有做网站维护的
  • 上海电子商务网站建设网站开发公司+重庆
  • 接网站建设_网站设计做暧暧网站在线
  • 楚雄 公司 网站seo自动优化软件
  • 做像58同城这样的网站能用mysql数据库吗搜索引擎优化的定义是什么
  • 网站开发中标签栏的图标一般都在那个文件中写代码网站开发技术可以做什么工作
  • 交互设计个人网站网站 seo优化
  • 网站建设的总体设计思想企业产品推广平台
  • 如何给公司做一个网站外包公司员工是否受劳动法保护
  • 电脑版网站制作公司茶山网站仿做
  • 做网站安卓客户端备案需要网站吗
  • 设计师平台网站投资建设网站首页
  • 做期权注册网站做课件的网站有哪些
  • 淘宝客网站 建设要钱不以图搜图百度识图网页版
  • c++可以做网站吗泉州有哪些公司是做网站