Kotlin学习(6)→函数


在期待着郭霖先生的**《第一行代码(第三版)》**时,意识到自己需要补充必要的Kotlin知识。现在写文章分享自己学习Kotlin基础知识的过程,争取拿到书之后能早日上手。
使用的软件是IDEA 2019,文章中如有错误或者欠缺的地方,欢迎批评指正。
(参考《Kotlin从零到精通Android开发》,欧阳燊著,清华大学出版社2018年4月第一版,ISBN 978-7-302-49814-8)。感谢欧阳先生的优秀教材。

文章来源于 我的简书

1、如何声明函数

Kotlin声明函数的基本模式是(例如声明返回值为Int类型的函数print,函数没有参数):

fun print():Int {
    println("SSSS.GRIDMAN")
}

所以基本的模式是:fun 函数名(参数列表):返回值类型 {
//操作
}
函数名采用小驼峰命名法
如果函数没有返回值类型,则可以省略返回值类型声明,或者用下面的格式:

fun print():Unit {
}

这样的做法是为了符合基本的函数声明的模式。

2、给定函数的参数、默认参数

例如,需要实现一个函数,实现两个数的加法并输出结果。
根据之前介绍的变量声明和Java语言中的函数的写法,我们可以得到Kotlin代码如下:
得到3+4的结果

默认参数的办法和Java中是类似的,如下:
带默认参数
但是这样可能会造成一些问题,例如会与没有参数的函数混淆,例如:
无参数函数覆盖了原函数
所以,最好只是对某几个参数使用默认值,并且,这种情况下不能出现前面的参数使用默认值,而后面的参数使用给定的值的情况。例如上面的例子中,如果将main函数中的语句getAnswer(3),这个3会被作为x的参数
当然,这个问题是有解决的办法,那就是命名参数。

3、命名参数

在Python中,我们常常见到这样的写法:

wnd = tkinter.Tk(title="tkinter窗体")

Kotlin中也有类似的写法,这是很明白的:我们通过参数名=值的办法,就能让编译器知道我们要给哪一个参数指定值,哪些参数使用默认值。
例如将上面的程序改为:
命名参数方法
可以知道,main函数调用了使用默认参数的getAnswer()方法并指定了y的值为4。

4、可变参数

可变参数可以随时增加参数的个数。欧阳先生的书上讲的比较浅显:中国古代有4大发明,可是有些人觉得应该有七大、十大发明,不仅仅局限于“四大”,幸运的是Kotlin提供了可变参数类型,可以随时增加参数的个数。
Kotlin在处理可变参数时,会把它作为一个数组来处理,我们需要通过循环来取出其中的值。
声明可变参数的一般格式(例如声明String?类型的可变参数)
vararg args:String?
请看下面的例子:
可变参数的例子

发布了8 篇原创文章 · 获赞 0 · 访问量 76

猜你喜欢

转载自blog.csdn.net/KamiyamaSatoru/article/details/104062760
今日推荐