kotlin学习笔记2

函数声明的方式

1:一般方式

fun fun_name (参数:参数类型):返回值类型{

函数体//私有函数在fun前声明private 例如 private fun add(x:Int,y:Int){return x+y}

}

当函数只有一行时

var i:(参数类型,参数类型)->返回值类型 = {参数名,参数名 -> 函数体}

i(x,y)//直接调用

例如: var i(Int,Int)->Int ={ x,y -> x+y }

i(3,5)

更简洁的写法

var  i={参数:参数类型,参数:参数类型 -> 函数体}//变量i本身就是一个函数

i(参数)//直接进行调用

具名参数:

调用函数时可以给具体的某些参数赋值

例如:已知名为circle_area(pI:Float =pi,r:Float):Float的函数他有两个参数,pi和半径r

我们声明一个全局变量pi=3.14,则函数第一个参数已知,在调用函数时可以通过具名参数赋值

circle_area(r = 2.0f)//通过具名参数调用函数

字符串与数字转换

toString()与toInt()两个函数进行类型转换

输入

readLine()函数,但是readLine函数是可以为空的,在类型转换时要给被转换的输入上加上问号“?”判断是否为空

例如:a=readLine()

a?.toInt()//进行操作可能会报错

或者使用!!表示输入一定不为空

a=readLine()

a!!.toInt()

异常处理:

使用try将可能出现问题的代码包裹,当发生异常时,使用catch(e:exception)进行处理

一个非常大的类型:BigInteger

kotlin的尾递归优化

在递归函数前加上tailrec 表明对该函数进行尾递归优化,但要求递归是完全调用本身,不能加别的东西,否则会有警告

面向对象(类)

类的声明: class class_Name(var 成员变量:变量类型,var 成员变量:变量类型){fun 成员函数}

类的调用: var class1 = class(成员变量,成员变量)

猜你喜欢

转载自blog.csdn.net/z282011862/article/details/77965556