搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 技术刚刚好 > Dart语言语法学习笔记

Dart语言语法学习笔记

技术刚刚好 2019-11-08

第一个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语言语法学习笔记》的版权归原作者「技术刚刚好」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注技术刚刚好微信公众号

技术刚刚好微信公众号:qinyufencom

技术刚刚好

手机扫描上方二维码即可关注技术刚刚好微信公众号

技术刚刚好最新文章

精品公众号随机推荐