美文网首页
2.4 面向表达式编程 2021-07-11

2.4 面向表达式编程 2021-07-11

作者: AndYMJ | 来源:发表于2021-07-11 23:49 被阅读0次

在本章之前的几节中,我们已经好几次与一个关键字打过交道,这就是“表达式”。现在罗列下我们已经提及的表达式:

1. if表达式

2. 函数提表达式

3 .Lambda表达式

4 .函数引用表达式

显然,表达式在Kotlin这门语言中处于一个相当重要的地位,这一节我们会着重介绍在Kotlin中如何利用各种表达式来增强程序表达式、流程控制的能力。与Java等语言稍显不同的是,Kotlin中的流程控制不再是清一色的普通语句,它们可以返回值,是一些崭新的表达式语句,如if表达式、when表达式、try表达式等。这样的设计自然与表达式自身的特质相关。在了解具体的语法之前,我们先来探讨下表达式和普通语句之前的区别。

表达式 和 语句虽然是基本的概念,但也经常被混淆和误解。语句很容易理解,我们在一开始学习命令式编程的时候,程序往往是有一个个语句组成的。比如以下这个例子:

基本语句

可以看到,该程序依次进行了赋值、循环控制、打印等操作。这些都可以被称为语句。我们再来对其进行解释和计算,以求产生另一个值。

通俗的理解,表达式就是返回的语句。我们来写几个表达式的例子:

1 // 单纯的字面量表达式,值为1

-1 // 增加前缀操作符,值为-1

1+1 // 加法操作符,返回2

listOf(1,2,3) // 列表表达式

"kotlin".length // 值为6

这些都是非常明显的表达式。以下是Kotlin中更复杂的表达式:

{ x: Int -> x+1} //Lambda表达式,类型为(Int):Int

fun(x: Int){ println(x) } //匿名函数表达式类型为类型为(Int):Unit

if( x > 1) x else 1 // if-else 表达式,类型为Int,假设x已赋值

正如我们所言,一些在其他语言中的普通语句,在Kotlin中也可以是表达式。这样设计到底有什么好处?

相关文章

  • 2.4 面向表达式编程 2021-07-11

    在本章之前的几节中,我们已经好几次与一个关键字打过交道,这就是“表达式”。现在罗列下我们已经提及的表达式: 1. ...

  • 初识lambda

    提到lambda表达式,就不得不提一下函数式表达式。函数式表达式与面向对象编程的最大区别是面向对象编程是对数据进行...

  • 初步认识RXJava

    前言:面向对象变成是命令式编程的一种,面向计算机硬件的抽象,有变量、赋值、表达式和控制语句。函数式编程是面向数学的...

  • 函数式编程与面向对象编程[1]: Lambda表达式 函数柯里化

    函数式编程与面向对象编程[1]: Lambda表达式 函数柯里化 高阶函数.md 之剑 2016.5.2 11:1...

  • 修炼码德系列:简化条件表达式

    前言 与面向过程编程相比,面向对象编程的条件表达式相对来说已经比少了,因为很多的条件行为都可以被多态的机制处理掉;...

  • JS基础到高级

    JS高级-进阶目录======================基础Web API面向对象编程继承函数进阶正则表达式...

  • Python notes(3/3)

    目录 一,Python 面向对象 二,Python 正则表达式 三,Python CGI编程 四,Python 操...

  • Java8 - Lambda

    函数式编程在并发和事件驱动编程中优势明显。所以Java8引入了Lambda表达式的概念。 面向对象编程与函数式...

  • 面向指针编程(一)

    面向对象编程,面向设计模式编程(亦即设计模式),面向接口编程,面向模板编程(亦即泛型编程),面向函数编程(亦即函数...

  • 二.基础语法

    2.1不一样的类型声明 2.2val和var的使用规则 2.3高阶函数和Lambda 2.4面向函数式编程 2.5...

网友评论

      本文标题:2.4 面向表达式编程 2021-07-11

      本文链接:https://www.haomeiwen.com/subject/feilpltx.html