Kotlin基礎之函數

普通函數

fun name(str : String) : String { }
fun 函數名(參數名 : 參數類型) : 返回類型 { }
通常未加任何修飾詞的函數是public的,你也可以給前面加上private

無返回值

fun name(str : String) : Unit { }
Unit相當于java中的void

函數默認值

private fun name(str: String, it : Int = 2): Unit{ }
這時it就有一個默認的值為2,你可以這樣調用name(s)也可以name(s,5)那么5就會覆蓋默認值2,這個很好。可以少寫很多相似的方法

通過參數直接返回值

fun name(it1: Int, it2 : Int): Int = it1+it2
這應該一看就懂了吧,返回類型為Int,通過傳入的it1+it2直接返回結果。

擴展函數

fun String.replaceF(s : String) : String{ return s.replace(",",""); }
這是對某個類直接進行擴展,不需要使用繼承的方式,可以直接進行使用:var s: String = toString(); s.replaceF("") 可以當做擴展類也可以當作工具類來使用。這個功能很強大

PS:這個一開始被坑了真的。坑的不是kotlin,而是網上大部分的博客,因為沒提及一個關鍵的地方,就是擴展函數的文件類型必須是File。?像這樣

image.png
image.png

類中是沒有class abstract這些的。就是一個File文件

內聯函數

inline fun String.replaceF(s: String): String { return s.replace(",", ""); }
其實就是在普通的函數前加上inline關鍵字,它的作用是在編譯時將函數代碼與調用的地方替換,就如函數內部代碼是直接寫在調用的地方一樣。而普通的函數在調用時會在內部生成臨時的對像。所以使用內聯函數可以避免一定的內存開銷。但同樣的,因為會在編譯時進行代碼的替換所以使用濫用的話會讓編譯的時間進行增加。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 兩本不錯的書: 《Python參考手冊》:對Python各個標準模塊,特性介紹的比較詳細。 《Python核心編程...
    靜熙老師哈哈哈閱讀 3,386評論 0 80
  • 所謂像素放大就是ps里面的鄰近(保留硬邊緣) 設置放大后像素效果使用setAliasTexParameters 相...
    人氣小哥閱讀 1,400評論 0 0
  • 北臨灄水,戲說乾隆。 云商烏鼎,弄道虔誠。 它山風雨,問石而攻。 志在天河,又論盤龍。
    米瀾盛若閱讀 158評論 3 1