kotlin入门(四) 函数

论坛 期权论坛 期权     
雾里寻花   2019-7-28 23:26   2535   0



先来看一个简单的例子:
  1. //fun定义getChar函数,形参设置了默认值Hellofun getChar(x:String="Hello"):Char{    //:Char表示返回类型    return x[0]}fun main(args: Array) {    var name="Wlxuh"    println(getChar(name))}
复制代码

  vararg关键字定义可变长参数,返回一个数组:
  1. /*   vararg定义可变长参数,   这里我们是直接输出,没有直接返回,可以不写返回值类型,   实际kotlin有一个隐形的返回:Uint*/fun getList(vararg hex:Int){   for(x in hex){      println(x)   }}fun main(args: Array) {    getList(1,2,3)}
复制代码
[h2]几种特殊函数[/h2]
  泛型函数,泛型函数是指在定义时不能明确输入参数类型,需要在调用时才能明确输入参数类型函数

    定义泛型函数,需要在函数名前面加上,原形如下:

      fun   函数名(参数):返回类型{
         ...
      }

  调用泛型函数:
    函数名(参数)

  例:
  1. //这里参数?表示参数可为空fun  strJoin(vararg name:T?):String{   var s=""   for(x in name){      //不换输入什么类型,转换成字符串,进行拼接      s+=x.toString()+'\n'   }   return s}fun main(args: Array) {   //调用参数Int型,加上   var s=strJoin(1,2,3)   println(s)  //调用参数Float,如下  //var s=strJoin(1.1,1.2,1.3)}
复制代码

  内联函数

    ps:这里的内联函数,博主也没太搞明白,有时间在补,抱歉!!!



  简化函数

    在kotlin中对于比较简单的函数,可以使用=来代替花括号,如下:
  1. fun swap(n:Int):Int=if(n>5) n else n+1  //简化函数
复制代码

  尾递归函数

    尾递归函数是一种特殊的递归函数,指的是在末尾返回值调用自身函数,尾递归函数在头部添加tailrec告诉编译器,这是一个尾递归函数,提高性能。

[code]tailrec fun swap(n:Int):Int=if(n
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP