官术网_书友最值得收藏!

Functions

The fun keyword is used to define functions in Kotlin. In this section, we'll discuss writing a function, type inference, and specifying the return type.

In the following example, we create a function that takes two arguments of the String type and prints them to the console.

Consider the following code for 6_Function.kts:

fun welcome(name:String, msg:String) {
println("$msg $name")
}
welcome("Bob", "hello")

Note that we used string template to print the values without concatenating string literals.

The output of the preceding code as follows:

This is a simple example of creating a function and invoking it. Now, let's create a function that returns a value.

Consider the code for 6a_Function.kts:

fun welcome(name: String, msg:String) =
"$msg $name"
println(welcome("Bob", "hello"))

The output is as follows:

The = symbol says that Kotlin should infer the type from the context and identify the return type of the function. This is more suitable for single-line functions. For complex functions, we can specify the return type, in this case a Stringand the return statement in the function, as shown here.

Consider the code for 6b_Function.kts:

fun welcome(name: String, msg:String) : String {
return "$msg $name"
}
println(welcome("Bob", "hello"))

The output is as follows:

We specified the String return type after the arguments prefixed by the colon (:) and the return statement in the function body.

Let's take a look at a function that doesn't return anything. We are interested in writing the void function. 

Consider the code for 6c_Function.kts:

fun addNumbers(x: Int, y:Int) : Unit {
println("Sum of numbers is ${x+y}")
}
addNumbers(2, 3)

The output is as follows:

Unit is the representation of void in Kotlin. We can also write a void function without the Unit, as shown here.

Consider the code for 6d_Function:

fun addNumbers(x: Int, y:Int) {
println("Sum of numbers is ${x+y}")
}
addNumbers(2, 3)

The output is as follows:

主站蜘蛛池模板: 扎兰屯市| 海南省| 合山市| 张掖市| 昆明市| 西安市| 云和县| 永顺县| 禄劝| 南城县| 华阴市| 娄烦县| 扎赉特旗| 海南省| 独山县| 镇康县| 凤山市| 工布江达县| 玉门市| 上蔡县| 新安县| 宣汉县| 安达市| 黑龙江省| 岢岚县| 徐州市| 吉林省| 全南县| 吐鲁番市| 图木舒克市| 时尚| 竹山县| 大厂| 邹平县| 南安市| 丰镇市| 保山市| 启东市| 仲巴县| 九台市| 泰和县|