Kotlin学习(2)函数

 函数声明:

fun plus(a:Int,b:String):Boolean{   //fun 函数名(参数名:参数类型,参数名:参数类型):返回值类型
        println(a)
        return true    //返回值
}

 


 

集合:

  Kotlin可以使用Java声明集合的方法,也有自己的声明方式。

//Java方式
val a=ArrayList<Int>()

//Kotlin方式
val b=arrayListOf<Int>()

 


 

顶层函数和属性:

  Kotlin中没有static修饰符。

  为了消除静态工具类,Kotlin可以将函数或者属性写在 .kt 文件中,类的外面。

  类似于C语言中全局变量,如果是public属性(省略的话默认public),其他类可以直接使用这个变量(函数),不必声明。


 

扩展函数和属性:

  Kotlin支持在原有类的外面扩展自己想要的方法,比如我想给String对象添加一个可以获得最后一个字母的方法,不需要再去写一个类继承String,然后添加方法。

fun main(args: Array<String>) {
	println("Kotlin".lastChar())
}

//扩展函数 fun String.lastChar():Char{ return this.get(this.length-1) }

//扩展属性
fun String.lastChar:Char
         get()=get(length-1)

  为了防止偶然的命名冲突,使用扩展函数需要导入扩展函数。

  Kotlin中import可以导入一个类,也可以导入一个函数,比如扩展函数是Strings包中的顶层函数,可以 import Strings.lastChar ,当然也可以使用 * 来导入包中所有内容。

  扩展函数必须是顶层函数。不能写在类内部。

  扩展函数的静态属性决定了扩展函数不能被子类重写。


可变参数:

fun main(args: Array<String>) {
    bb(1,2,3,4,5)
}

fun bb(vararg a:Int){
    for (i in a){
        println(i)
    }
}

 


 局部函数:

  Kotlin允许在函数内声明局部函数,用以避免大量的重复操作。

 

posted @ 2018-08-01 12:03  陆卯伍  阅读(136)  评论(0编辑  收藏  举报