函数的定义与调用

1 创建集合     

fun <T> joinToString(collection: Collection<T>, separator:String, prefix:String, 
  postfix:String): String{
    val result = StringBuilder(prefix)
    for ((index, element) in collection.withIndex()){
        if (index > 0) result.append(separator)
        result.append(element)
    }
    result.append(postfix)
    return result.toString()
}

fun main(){
    val set = hashSetOf(1,7,53)
    val list= arrayListOf(1, 7,53)
    val map= hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three")
    val strings = listOf("first", "second" ,"fourteenth")
    val numbers = setOf(1,14,2)
    val listAdd = listOf(1,2,3)
    //等价于java中的getClass()
    println(set.javaClass)
    println(list.javaClass)
    println(list)
    println(map.javaClass)
    println(strings.last())
    println(numbers.max())
    println(joinToString(listAdd ,"; ", "(",")"))
}   
---------------------------------------
class java.util.HashSet
class java.util.ArrayList
[1, 7, 53]
class java.util.HashMap 
fourteenth
14
(1; 2; 3)

2  命名参数

      当调用一个 Kotlin 定义的函数时,可以显式地标明一些参数的名称。 如果在调用一个函数时,指明了一个参数的名称,为了避免混淆,那它之后的所有参数都需要标明名称。

fun <T> joinToString(collection: Collection<T>, separator:String = ", ", prefix:String = "", postfix:String = ""): String{
    val result = StringBuilder(prefix)
    for ((index, element) in collection.withIndex()){
        if (index > 0) result.append(separator)
        result.append(element)
    }
    result.append(postfix)
    return result.toString()
}

   在 Kotlin 中,可以在声明函数的时候,指定参数的默认值,这样就可以避免创建重载的函数。

fun main(){
    val listAdd = listOf(1,2,3) 
    println(joinToString(listAdd,", ","","")) //1, 2, 3
    println(joinToString(listAdd)) //1, 2, 3
    println(joinToString(listAdd,"; ")) //1; 2; 3
    println(joinToString(listAdd, postfix = ";",prefix ="# "))//# 1, 2, 3;
}
fun <T> joinToString(collection: Collection<T>, separator:String = ", ", prefix:String = "", postfix:String = ""): String{
    val result = StringBuilder(prefix)
    for ((index, element) in collection.withIndex()){
        if (index > 0) result.append(separator)
        result.append(element)
    }
    result.append(postfix)
    return result.toString()
}

3   顶层函数和属性

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值