当前标签 / 语法 / 总共2篇

Dart 语法游历记【下】「译」

Dart 是一种面向对象语言,包含类和基于 mixin 的继承两部分。每个对象是一个类的实例,并且 Object 是所有类的父类。基于 mixin 的继承指的是每个类(除了 Object )都只有一个父类,类体还可以在多个类继承中被重用。

要创建一个对象,你可以使用 new 关键词并在其后跟上一个构造函数。构造函数可以写成类名,或者类名.标识符形式。例如:

1
2
3
4
5
6
7
var jsonData = JSON.decode('{"x":1, "y":2}');

//用 Point() 创建一个点。
var p1 = new Point(2, 2);

// 用 Point().fromJson() 创建一个点。
var p2 = new Point.fromJson(jsonData);

对象的成员分为函数和数据两类(各自的方法和实例变量)。当你调用一个方法时,你是通过一个对象来调用它的:该方法可访问该对象的方法和数据。用 . 指向对象的方法和数据成员。

阅读更多

Kotlin语法初探

本文参考资料

引言

最近接手一个项目是用 IDE 把之前的 Java 代码转成了 Kotlin 的,索性现在就多花些时间来窥探一下 Kotlin,计划在接下来的开发中使用 Kotlin 来完成。

Kotlin应该怎么读 Kotlin应该怎么读

Kotlin 在 2016 年发布了其第一个稳定版本 v1.0,紧跟着在 2017 年的 Google I/O 大会就正式宣布被 Android 平台支持。

Kotlin 具有很多下一代编程语言,静态语言特性:如类型推断、多范式支持、可空性表达、扩展函数、模式匹配等。

其主要设计目标:

  • 创建一种兼容 Java 的语言
  • 让它比 Java 更安全,能够静态检测常见的陷阱。如:引用空指针
  • 让它比 Java 更简洁,通过支持 variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation 等实现。
  • 让它比最成熟的竞争对手 Scala 语言更加简单。

函数编程核心概念

头等函数

把函数当做值来使用,可以用变量保存它,把它当做参数传递,或者当做其他函数的返回值。

不可变性

使用不可变对象,创建后状态不能再变化。

表达式函数体

1
2
3
fun max(a:Int, b:Int): Int{
    return if(a > b) a else b
}

在kotlin中除了(for、do 和 do\while)以外大多数控制结构都是表达式。

1
fun max(a:Int, b:Int): Int = if(a > b) a else b

阅读更多