新前端语言Dart简易教程

2021-05-17 18:31

阅读:447

标签:两种   super   绑定   程序   port   false   assign   cat   私有   

从下面开始学习DART编程 

以下是一个简单的示例:

main(){
var number = 42;
print(number);
}
程序说明,dart是一个强大的脚本类语言,可以不预先定义变量类型 ,自动会类型推倒,主程序必须要先有一个main()主函数方法
以上是基本示例 至于函数返回值 和参数,暂时不讲,

在学习Dart语言时,请记住以下事实和概念:

  • 在变量中可以放置的所有东西都是对象,而每个对象都是的实例。无论数字、函数和null都是对象。所有对象都继承自[Object]类。
  • 尽管Dart是强类型的,但类型声明是可选的,因为Dart可以推断类型。 在上面的代码中,数字被推断为int类型。 如果要明确说明不需要任何类型,请使用[特殊类型dynamic]。
  • Dart支持通用类型,如List(整数列表)或List(任何类型的对象列表)。
  • Dart支持顶级函数(如main()),以及绑定到类或对象(分别是静态方法(static)和实例(instance)方法)的函数。您还可以在函数(嵌套或局部函数)中创建函数。
  • 类似地,Dart支持顶级变量,以及绑定到类或对象(静态和实例变量)的变量。实例变量有时被称为字段或属性。
  • 与Java不同,Dart没有公开、保护和私有的关键字。如果标识符以下划线(_)开头,则该标识符对其库是私有的。有关详细信息,请参见[库和可见性]。
  • 标识符可以以字母或下划线(_)开头,然后是这些字符加上数字的任何组合。
  • 有时候,某事物是一个表达(expression )还是一个语句(statement)是很重要的,所以这两个词要准确。
  • Dart工具可以报告两种问题:警告和错误。警告只是表明您的代码可能不工作,但它们不会阻止您的程序执行。错误可以是编译时错误,也可以是运行时错误。编译时错误阻止了代码的执行;运行时错误导致代码执行时引发异常。

 

       dart 关健字比健多,

下标中列出了Dart中的所有关键词

       
abstract (1) do import (1) super
as (1) dynamic (1) in switch
assert else interface (1) sync* (2)
async (2) enum is this
async* (2) export (1) library (1) throw
await (2) external (1) mixin (1) true
break extends new try
case factory (1) null typedef (1)
catch false operator (1) var
class final part (1) void
const finally rethrow while
continue for return with
covariant (1) get (1) set (1) yield (2)
default if static (1) yield*
deferred (1) implements (1)    

(1)带有上标1的单词是内置标识符。避免使用内置标识符作为标识符。如果尝试为类或类型名使用内置标识符,则会发生编译时错误。
(2)使用上标2的单词是在Dart的1.0版本之后添加的与异步支持相关的更新的、有限的保留字。在以async, async*, 或者 sync* 标记的任何函数体中,不能使用async, await, 或者 yield作为标识符。有关更多信息,请参见异步支持。

关键字表中的所有其他词都是保留词。不能使用保留词作为标识符。

变量和默认值

 

 

 申明一个变量很多方法:

var name = "hello"

这儿可以用关健字var    申明,也可以  先申明在定义  比如:strint name = "name“

申明一个变量有很多,比如申明数字型 ,字符型 ,布尔型  ,

以下关于数字定义

int x = 1;
16进制写法 int hex = 0xDEADBEEF; int bigInt = 34653465834652437659238476592374958739845729

关于字符定义

关于布尔
数据类型详细说明:
未初始化的变量的初始值为null。甚至具有数字类型的变量最初也是null,因为数字——就像dart中的其他东西一样——是对象。
程序默认值:如果变量只申明没有定义只会有默认值 ,转换类型失败也会返回默认值 ,稍后补充

int lineCount;
assert(lineCount == null);  //  assert类似于if 语句,出错后会标飘红报错

注意:在生产环境中,assert()调用被忽略。在开发环境中当assert(condition) 的condition条件不为真时抛出一个异常。详细信息请查看[ Assert]。

Final 和 const修饰符  、、// 定义常量

永远不改量的量,类似与一常不变的数值,请使用final或const修饰他,而不是使用var或其他变量类型。最终变量只能设置一次;const变量是一个编译时常数。(Const变量是隐式最终变量。)最终的顶级或类变量在第一次使用时被初始化。注意:实例变量可以是final,但不能是const。[实例变量定义在对象一级,它可以被类中的任何方法或者其他类中的方法访问,但是不能被静态方法访问。]

这里有一个创建和设置final变量的例子:

final name = ‘Bob‘; // Without a type annotation
final String nickname = ‘Bobby‘;

您无法更改final变量的值:

name = ‘Alice‘; // Error: a final variable can only be set once.
//这个是错误示例,在使用时final变量是不可以更改的

对于想要在编译时确定并且不再变的变量,使用const。如果const变量位于类级别,则将其标记为静态const。在声明该变量时,将该值设置为编译时常量,例如数字或字符串字面量、const变量或常量数字算术运算的结果:

const bar = 1000000; // Unit of pressure (dynes/cm2)
const double atm = 1.01325 * bar; // Standard atmosphere

const关键字不只是声明常量变量。您还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以赋一个常量值。

var foo = const [];
final bar = const [];
const baz = []; // Equivalent to `const []`

您可以从const声明的初始化表达式中省略const,如上面的baz。有关细节,请参见[不要多余的使用const]。

您可以更改一个非final的非const变量的值,即使它曾经有一个const值:

foo = [1, 2, 3]; // Was const []
复制

你不能改变const变量的值:

baz = [42]; // Error: Constant variables can‘t be assigned a value.

 

 

 

 


新前端语言Dart简易教程

标签:两种   super   绑定   程序   port   false   assign   cat   私有   

原文地址:https://www.cnblogs.com/fgxwan/p/9745700.html


评论


亲,登录后才可以留言!