- Kotlin for Enterprise Applications using Java EE
- Raghavendra Rao K
- 223字
- 2021-06-10 18:49:20
varargs and spread
Kotlin supports a variable number of arguments. vararg is the keyword that is used for a variable number of arguments. Using vararg, we can pass multiple arguments to a function.
Let's see an example of 7a_VarArgs.kts:
fun findMaxNumber(vararg numbers : Int) =
numbers.reduce { max , e -> if(max > e) max else e }
println(findMaxNumber(1,2,3,4))
The output is as follows:
The findMaxNumber() function takes a variable number of arguments and finds the maximum. We invoked reduce on the numbers and wrote a lambda expression. In Kotlin, a lambda is specified using curly braces.
If we have an array of numbers, we can invoke the findMaxNumber() function using the spread operator without changing the function argument type.
Consider the following code for 7b_Spread.kts:
fun findMaxNumber(vararg numbers : Int) =
numbers.reduce { max , e -> if(max > e) max else e }
val numberArray = intArrayOf(25,50,75,100)
println(findMaxNumber(*numberArray))
The output is as follows:
Note that * acts as a spread operator here. We can combine this with discrete values, as shown in the following 7c_Spread file.
Consider the code for 7c_Spread.kts:
fun findMaxNumber(vararg numbers : Int) =
numbers.reduce { max , e -> if(max > e) max else e }
val numberArray = intArrayOf(25,50,75,100)
println(findMaxNumber(4,5,*numberArray,200, 10))
The output is as follows:
- 深入理解Bootstrap
- 深入淺出WPF
- HBase從入門(mén)到實(shí)戰(zhàn)
- INSTANT Sencha Touch
- Hands-On RESTful Web Services with Go
- 從0到1:Python數(shù)據(jù)分析
- C語(yǔ)言程序設(shè)計(jì)教程
- 微服務(wù)從小白到專(zhuān)家:Spring Cloud和Kubernetes實(shí)戰(zhàn)
- CRYENGINE Game Development Blueprints
- C++從入門(mén)到精通(第6版)
- Java 9 Programming By Example
- Oracle 12c從入門(mén)到精通(視頻教學(xué)超值版)
- Continuous Delivery and DevOps:A Quickstart Guide Second Edition
- Microsoft Windows Identity Foundation Cookbook
- INSTANT EaselJS Starter