Kotlin fun函數(shù)使用方法
對(duì)于函數(shù)來(lái)說(shuō),現(xiàn)在的語(yǔ)言越來(lái)越想把它往變量上靠。
確實(shí)對(duì)于函數(shù)來(lái)說(shuō),他應(yīng)該有很多變量的特性。
在Kotlin
中,定義函數(shù)是很簡(jiǎn)單的一件事情,我覺(jué)得編程有的時(shí)候是被一些語(yǔ)言給高復(fù)雜了,命名很簡(jiǎn)單的一些事情,還引入了很多的概念,其實(shí)這些對(duì)項(xiàng)目的開發(fā)一點(diǎn)用處都沒(méi)有,只是一些編程技巧罷了,就這個(gè)工程的可讀性和穩(wěn)定性一點(diǎn)用處也沒(méi)有。
函數(shù)聲明
函數(shù)的關(guān)鍵字為 fun
,其實(shí)一些比較新的語(yǔ)言在取這些關(guān)鍵字的時(shí)候,我建議還是有個(gè)一致性的規(guī)范,看多語(yǔ)言以后,你會(huì)發(fā)現(xiàn)有的語(yǔ)言命名函數(shù)是用fun
,有的是使用func
,其實(shí)這些關(guān)鍵字對(duì)功能的實(shí)現(xiàn)一點(diǎn)影響都沒(méi)有,不同的語(yǔ)言取不同的關(guān)鍵字,只是給編程使用者,添加了更多的負(fù)擔(dān)。
fun myAdd(a:Int,b:Int):Int{ return a+b }
這樣我們就添加了一個(gè)函數(shù)名為:myAdd
,兩個(gè)變量,a和b,返回值為Int
。為何Kotlin
的返回值是在后面呢?
其實(shí)Kotlin
這樣設(shè)計(jì)還是有一定的道理的,他讓函數(shù)和變量長(zhǎng)得一樣,函數(shù)的類型就是他的返回類型,這樣跟變量一起來(lái)記憶,通用性還是很強(qiáng)的。
函數(shù)默認(rèn)參數(shù)
有些語(yǔ)言,是沒(méi)有提供默認(rèn)參數(shù)的,Kotlin
有提供,用了默認(rèn)參數(shù)的函數(shù),用起來(lái)還是挺舒服的,比如你在讀別人的api的時(shí)候,你可以不需要把所有的參數(shù) 都讀懂,默認(rèn)就可以了。
fun isA(v:Char,ignorecase:Boolean=true):Boolean{ var c:Char = '1' if (ignorecase) c = v.lowercaseChar() return c == 'a' }
如果你有多個(gè)的默認(rèn)參數(shù)的話,可以用指定名字的方式來(lái)對(duì)默認(rèn)變量進(jìn)行賦值,而不用太多的考慮參數(shù)順序的問(wèn)題。
var ba:Boolean = isA('A', ignorecase = false)
可變參數(shù)
Kotlin
對(duì)參數(shù)的支持,還是給了很多的空間,可變參數(shù)來(lái)說(shuō),平常是比較少見(jiàn),但有一個(gè)你肯定是用過(guò)的,那就是打印日志的時(shí)候。
fun myLog(vararg args: String) { println(args::class) println(args.contentToString()) for (i in args.indices) { println(args[i]) } }
我們可以這樣來(lái)調(diào)用:
myLog("1","2","3")
Kotlin
可變參數(shù),可以理解為變量是一個(gè)數(shù)組或者是一個(gè)鏈表,這樣是最好理解的,也應(yīng)該本來(lái)就是這樣。
小結(jié)
函數(shù)在編程中,不可能不被用到的,他是我們程序的復(fù)用的基礎(chǔ),在這節(jié)中,我們也討論了一些語(yǔ)言的設(shè)計(jì)問(wèn)題,一個(gè)好的語(yǔ)言,他需要足夠的簡(jiǎn)單,有一定的通用性,這樣對(duì)于編程者,那才是真正的有好。
到此這篇關(guān)于Kotlin fun函數(shù)使用方法的文章就介紹到這了,更多相關(guān)Kotlin fun函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android讀取用戶號(hào)碼,手機(jī)串號(hào),SIM卡序列號(hào)的實(shí)現(xiàn)代碼
以下是對(duì)Android讀取用戶號(hào)碼,手機(jī)串號(hào),SIM卡序列號(hào)的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下2013-07-07Android編程簡(jiǎn)單實(shí)現(xiàn)ImageView點(diǎn)擊時(shí)背景圖修改的方法
這篇文章主要介紹了Android編程簡(jiǎn)單實(shí)現(xiàn)ImageView點(diǎn)擊時(shí)背景圖修改的方法,涉及Android針對(duì)背景圖相關(guān)屬性設(shè)置的操作技巧,需要的朋友可以參考下2015-12-12Android 將view 轉(zhuǎn)換為Bitmap出現(xiàn)空指針問(wèn)題解決辦法
這篇文章主要介紹了Android 將view 轉(zhuǎn)換為Bitmap出現(xiàn)空指針問(wèn)題解決辦法的相關(guān)資料,這里提供實(shí)例并提供解決辦法,需要的朋友可以參考下2017-07-07Android入門之系統(tǒng)設(shè)置Configuration類的使用教程
這篇文章主要給大家介紹一下Configuration類的使用,Configuration類是用來(lái)描述手機(jī)設(shè)備的配置信息的,比如屏幕方向,?觸摸屏的觸摸方式等,感興趣的可以了解一下2022-12-12Android自定義view實(shí)現(xiàn)仿抖音點(diǎn)贊效果
這篇文章主要介紹了Android自定義view實(shí)現(xiàn)仿抖音點(diǎn)贊效果,代碼簡(jiǎn)單易懂非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05android實(shí)現(xiàn)下拉菜單三級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)下拉菜單三級(jí)聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Android基于Mapbox?V10?繪制LineGradient軌跡
這篇文章主要介紹了Android基于Mapbox?V10?繪制LineGradient軌跡,文章通告介紹一些V10上的用法,最終講下如何繪制漸變運(yùn)動(dòng)記錄軌跡,感興趣的小伙伴可以參考一下2022-08-08Android開發(fā)筆記之:在ImageView上繪制圓環(huán)的實(shí)現(xiàn)方法
本篇文章是對(duì)Android中在ImageView上繪制圓環(huán)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Android獲取本機(jī)電話號(hào)碼的簡(jiǎn)單方法
Android獲取本機(jī)電話號(hào)碼的簡(jiǎn)單方法,需要的朋友可以參考一下2013-05-05