Kotlin 1 函數

#2 函數

 函數聲明和平時我見到的有點不太同樣,使用關鍵字fun來聲明。(感受好歡樂的樣子···O(∩_∩)O~~)函數

下面的示例,簡單的聲明瞭一個函數:this

1 // 這是函數聲明
2 fun this_is_a_function() {
3     // 這裏是函數內部  
4 }

好,下面咱們一步一步來,首先是有返回值的函數,在函數聲明後添加冒號,並寫上返回值類型:(這裏返回的是Int類型~~~)spa

1 // 這是有返回值的函數聲明
2 fun this_is_a_function_by_return() : Int {
3     return 1  
4 }

這裏須要注意的一點是,像Java、C#這樣的語言是須要在一行代碼結束後加入分號的,而Kotlin則不是必須的,加不加均可以。code

繼續,咱們來看如何傳遞參數進入一個函數,而且沒有返回值:blog

// 這是須要傳一個參數,而且無返回值的函數聲明
fun function_name(name: String) {
    println(name)
}

這裏的參數類型是String。傳遞的參數能夠是一個函數哦~get

1 // 聲明一個(傳遞一個參數的函數)的函數,並沒有返回值
2 fun function1(f : (Int)) = println(f)
3 // 聲明一個(傳遞兩個參數的函數)的函數,並有返回值
4 fun function2(f : (Int, Int) -> Int) = f(1, 2)
5 
6 // 調用function2
7 val sum = { x: Int, y: Int -> x + y}
8 function2(sum) // 返回3

繼續傳參,咱們來看看傳入多個參數並有返回值要如何寫:io

// 這裏是傳入多個參數,而且返回一個值的函數
fun sum(num1: Int , num2: Int) : Int {
    return num1 + num2
}

Kotlin還提供了一些簡單的寫法來聲明函數:function

若是函數返回一個簡單的值,便可使用等號直接返回,並能夠省略返回值類型:class

// 這個函數返回一個43的Int值
fun getInt43() = 43

當是一個公開函數時,使用public關鍵字,而且不能夠忽略返回值類型:module

// 這是一個公開的函數,必須聲明返回值類型
public fun getInt43() : Int = 43

在module內可見,則須要使用關鍵字internal:

// 這是一個module內部可見的函數
internal fun getInt43() = 43

 

ok~,函數聲明完成後,咱們來看看函數如何調用~

// 調用this_is_a_function函數
this_is_a_function()

感受好簡單···(\(≧▽≦)/)

有返回值的函數調用如何進行?

// 調用返回Int值的函數this_is_a_function_by_return
var number = this_is_a_function_by_return()

傳參怎麼進行???和其餘的同樣,不過還能夠定義傳參的順序~感受萌萌噠(~\(≧▽≦)/~啦啦啦)

// 聲明一個函數sum
fun sum(num1:Int, num2:Int) : String = num1.toString() + "+" + num2.toString()

// 這裏是傳參
sum(1, 2) // 返回 1+2
sum(num1 = 1, num2 = 2) // 返回 1+2
sum(num2 = 1, num1 = 2) // 返回 2+1
相關文章
相關標籤/搜索