Dart语言语法学习笔记

Posted 技术刚刚好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart语言语法学习笔记相关的知识,希望对你有一定的参考价值。

第一个Dart程序如下:

// 定义个方法。
printNumber(num aNumber) {
print('The number is $aNumber.'); // 在控制台打印内容。
}
// 这是程序执行的入口。
main() {
var number = 42; // 定义并初始化一个变量。
printNumber(number); // 调用一个方法。
}

看起来有点像java版本。我们去intellij idea运行看看结果。


结果为42.

下面是上面代码中使用的一些可以应用到几乎所有 Dart 应用中的 特性:

// 这是一个注释。

使用 // 表示后面的文字都是注释。另外,你还可以使用 /* … */ 。详情请参考:注释。

num

一个类型。String, int, 和 bool 是另外几种类型。

42

一个数字字面量。数字字面量是编译时常量。

print()

一种打印内容的助手方法。

'...' (或者 "...")

字符串字面量。

$variableName (or ${expression})

字符串插值:在字符串字面量中引用变量或者表达式。详情请参考:Strings。

main()

Dart 程序执行的入口方法,每个程序都 需要 一个这样的方法。详情请参考:main() 方法。

var

一种不指定类型声明变量的方式。

注意: 我们的代码准守 Dart 代码样式中的规则。例如:我们使用两个空格来缩进代码。

Important concepts(重要的概念)

在学习 Dart 的时候,请牢记下面一些事实和 概念:

  • 所有能够使用变量引用的都是对象, 每个对象都是一个的实例。在 Dart 中 甚至连 数字、方法和 null 都是对象。所有的对象都继承于 Object 类。

  • 使用静态类型(例如前面示例中的 num ) 可以更清晰的表明你的意图,并且可以让静态分析工具来分析你的代码, 但这并不是牵制性的。(在调试代码的时候你可能注意到 没有指定类型的变量的类型为 dynamic。)

  • Dart 在运行之前会先解析你的代码。你可以通过使用 类型或者编译时常量来帮助 Dart 去捕获异常以及 让代码运行的更高效。

  • Dart 支持顶级方法 (例如 main()),同时还支持在类中定义函数。(静态函数和实例函数)。你还可以在方法中定义方法 (嵌套方法或者局部方法)。

  • 同样,Dart 还支持顶级变量,以及 在类中定义变量(静态变量和实例变量)。实例变量有时候被称之为域(Fields)或者属性(Properties)。

  • 和 Java 不同的是,Dart 没有 public、 protected、 和 private 关键字。如果一个标识符以 (_) 开头,则该标识符 在库内是私有的。详情请参考:库和可见性。

  • 标识符可以以字母或者 _ 下划线开头,后面可以是 其他字符和数字的组合。

  • 有时候 表达式 expression 和 语句 statement 是有区别的,所以这种情况我们会分别指明每种情况。

  • Dart 工具可以指出两种问题:警告和错误。警告只是说你的代码可能有问题, 但是并不会阻止你的代码执行。错误可以是编译时错误也可以是运行时错误。遇到编译时错误时,代码将 无法执行;运行时错误将会在运行代码的时候导致一个 异常。


Variables(变量)

下面是声明变量并赋值的示例:

var name = 'Bob';

变量是一个引用。上面名字为 name 的变量引用了 一个内容为 “Bob” 的 String 对象。

Default value(默认值)

没有初始化的变量自动获取一个默认值为 null。类型为数字的 变量如何没有初始化其值也是 null,不要忘记了 数字类型也是对象。

int lineCount;
assert(lineCount == null);
// Variables (even if they will be numbers) are initially null.

注意: 在生产模式 assert() 语句被忽略了。在检查模式 assert(condition) 会执行,如果条件不为 true 则会抛出一个异常。详情请参考 Assert 部分。

今天就看了这些知识。每天一点点,进步一点点


以上是关于Dart语言语法学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

Perl 语言语法学习

Dart语言学习笔记

Flutter学习笔记·初识Dart语言

Dart 相关语法笔记

Dart 相关语法笔记

Dart 相关语法笔记