Kotlin——函数

函数的声明

Kotlin中使用fun关键字声明一个函数:

fun double(x: Int): Int {
    return 2*x
}

函数用法

使用传统的方式调用函数:

val result = double(2)

使用”.”调用成员函数:

Sample().foo() // 创建Sample的类,调用foo方法 

参数

函数参数使用帕斯卡方式定义,例如:名称:类型;参数之间使用逗号分隔开。每个参数必须被明确的声明类型。

fun powerOf(number: Int, exponent: Int) {
...
}

参数默认值

函数的参数可以有默认值,在对应的参数被省略时使用。与其他语言相比,这减少了重载的次数。

fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size) {
...
}

在类型后使用”=”定义默认值。

重写的方法和原方法经常使用相同的默认参数值,当重写一个带有参数默认值的方法时候,参数的默认值必须从方法签名中省略:

open class A {
    open fun foo(i: Int = 10) { ... }
}

class B : A() {
    override fun foo(i: Int) { ... }  // no default value allowed
}

如果一个有默认值的参数在一个没有默认值参数的前面,通过显示地列举出要赋值的参数,有默认值的参数将会被赋值。

fun foo(bar: Int = 0, baz: Int) { /* ... */ }

foo(baz = 1) // The default value bar = 0 is used

但是如果函数最后一个参数是lambda表达式,

时间: 2024-11-01 03:58:08

Kotlin——函数的相关文章

Kotlin函数与函数式编程浅析

如果你对Kotlin语法一无所知,推荐先阅读官方文档或者中文站(https://www.kotlincn.net/docs/reference/)之后再看这篇文章会有更深刻的理解.本篇文章主要介绍Kotlin函数的用法,以及自己对函数式编程的一些理解.并且会和Python,C++做一些比较. 下面是维基百科上对于函数式编程的定义: 函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态

Kotlin从入门到“放弃”(二)——函数

写在开头 上一篇介绍了Kotlin的基本使用,发现这门语言主要还是面向函数进行编程,所以这一篇主要在函数方面介绍Kotlin. 基本函数   Kotlin作为一个面向函数的编程语言,函数的使用自然是最基本的,上一篇的main函数就是函数式语言的体现.最简单的调用函数的方法如下: fun main(vararg arg: String){ println(add(1, 2)) } fun add(a: Int, b: Int): Int{ return a + b }   由上面的自定义函数add

玩转Kotlin 彻底弄懂Lambda和高阶函数

Lambda是什么 简单来讲,Lambda是一种函数的表示方式(言外之意也就是说一个Lambda表达式等于一个函数).更确切的说:Lambda是一个未声明的函数,会以表达式的形式传递 为什么要用Lambda 设想一下,在Android中实现一个View的点击事件,可以使用如下实现: View view = findViewById(R.id.textView); view.setOnClickListener(new View.OnClickListener() { @Override publ

Kotlin语法(函数和lambda表达式)

三.函数和lambda表达式 1. 函数声明 fun double(x: Int): Int { } 函数参数是用 Pascal 符号定义的 name:type.参数之间用逗号隔开,每个参数必须指明类型.函数参数可以有默认参数.这样相比其他语言可以减少重载. fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size() ) { ... } 2. 命名参数 在调用函数时可以参数可以命名.这对于有很多参数或只有一个的函数来说很方便. fun

你与高薪仅差一本Kotlin

 谷歌在17年举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言.于此同时,Kotlin语言一出就上了各大IT门户网站的头条,百度搜索达到300万条,招聘公司已经开始高薪找人,今天小编带你了解一下Kotlin,并推荐一本Kotlin入门书<Kotlin程序开发入门精要>. ![](https://user-gold-cdn.xitu.io/2017/9/1/f658b55768fe3333a682c2feb88fb3bd) 本文摘自:人民邮电出版社异步图书<Kot

Kotlin的互操作——Kotlin与Java互相调用

互操作就是在Kotlin中可以调用其他编程语言的接口,只要它们开放了接口,Kotlin就可以调用其成员属性和成员方法,这是其他编程语言所无法比拟的.同时,在进行Java编程时也可以调用Kotlin中的API接口. Kotlin与Java互操作 1 Kotlin调用Java Kotlin在设计时就考虑了与Java的互操作性.可以从Kotlin中自然地调用现有的Java代码,在Java代码中也可以很顺利地调用Kotlin代码. [例1]在Kotlin中调用Java的Util的list库. packa

【译】探索 Kotlin 中的隐性成本(第一部分)

本文讲的是[译]探索 Kotlin 中的隐性成本(第一部分), 原文地址:Exploring Kotlin's hidden costs - Part 1 原文作者:Christophe B. 译文出自:掘金翻译计划 译文地址:github.com/xitu/gold-m- 译者:Feximin 校对者:CACppuccino .phxnirvana Lambda 表达式和伴生对象 2016年,Jake Wharton 做了一系列有趣的关于 Java 的隐性成本 的讨论.差不多同一时期他开始提倡

Kotlin 简单优雅的高阶函数

Kotlin 简单优雅的高阶函数 最新上架!!!< Kotlin极简教程> 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: Kotlin 极简教程http://www.jianshu.com/p/35b487734339 函数代表一种关系 f 的蕴涵逻辑流.这种蕴涵逻辑流,其实就是映射(Mapping). 一切皆是映射. 我们说组合是编程的本质,其实,组合就是建立映射关系. 我们说, 程序 = 算法+数据结构 我们把程序看做图论里面的一张图G,这里的数据结构就是图

Kotlin学习(二)—— 基本语法,函数,变量,字符串模板,条件表达式,null,类型检测,for,while,when,区间,集合

一.基本语法 Kotlin的很多概念跟JAVA是有类似的,所以我应该不会像我的JAVA之旅一样那么的详细,但是不用担心,你会看的很明白的,我也是根据官方的文档来学习的 我们在IDEA中创建一个项目Kotlin02 1.函数(fun) 我们默认有一个主函数,就是main了 fun main(args: Array<String>) { print("主函数") } 和JAVA一样,他就是程序的主入口了,当然,我们还有普通的函数 fun sum(): Unit { print(