智慧农业网站开发相关文档国际品牌的品牌策划公司

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

智慧农业网站开发相关文档,国际品牌的品牌策划公司,wordpress适合下载站的主题,怎么给网站做链接屏蔽前言 学习dart语言。 注释 Dart 支持单行注释、多行注释和文档注释。 单行注释 单行注释以 // 开头。Dart 编译器将忽略从 // 到行尾之间的所有内容。 void main() {// 这是单行注释print(Welcome to my Llama farm!); }多行注释 多行注释以 /* 开始#xff0c;以 / 结…前言 学习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 dont 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(52 \({5 ~/ 2} r \){5 % 2} 52 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官网.