KOTLIN somo la 14: Aina za function kwenye Kotlin
Katika somo hili tutakwenda kuingia ndani zaidi kwenye somo la function. Hapa tutakwenda kuona aina za function.
Aina kuu mbii za function:
Function unaweza kuziweka kwenye makundi makuu mawili ambayo ni:
- User defined function:
Hizi ni zile ambazo unazitengeneza mwenyewe. Kama tulivyoona somo lililopita jinsi ya kutengeneza function.
- Built in function
Hizi ni zile ambazo zimekuja na lugha yenyewe. Mfano function ya ku print text print() na nyinginezo ambazo zipo ila hujazitengeneza wewe.
Aina za function ya kuangalia parameter na return type:
Kawakuwa tumesha jifunza mengi kuhusu function na parameter sasa hapa nakwend akukuletea aina za function ambazo zipo:
Aina za function
- Function ambazo hazina parameter wala return
Mfano:
fun salamu() {
print("habari ya muda huu ")
}
fun main() {
salamu()
}
- Function zenye parameter ila hazina return
Mfano:
fun jumlisha(x: Int, y: Int) {
println(x + y)
}
fun main() {
jumlisha(4, 9)
}
- Function zenye return ila hazima parameter
fun jumlisha(): Int {
val x = 4
val y = 6
return x + y
}
fun main() {
print(jumlisha())
}
- Function ambazo zina parameter na return
fun eneo(ur: Int, up: Int): Int {
return ur * up
}
fun main() {
print(eneo(6, 8))
}
Function ambayo haina jina
Tulishaona kuwa function inatakiwa iwe na jina. Sasa kuna function ambayo yenyewe haina jina ila inaweza kubeba parameter. Function hii inatambulika kama anonymous function nameless function. Yenyewe inaweza kuwa katika mtindo huu:-
(parameter){
Code
}
Mfano:
fun main() {
val jumlisha = fun(x: Int, y: Int): Int {
return x + y
}
println(jumlisha(4, 6))
}
Ukiangalia hapo utaona kuwa function yetu haina jina, lakini tumeweza kuitumia kwa kutumia variable.
Lambda function
Huu ni mfuo wa kuandika function kwa ufupi kw akutumia arrow yaani mshale ( -> ) function hii huitwa arrow function wacha tuone mfano hapo chini.
Lambda ambayo haina jina:
fun main() {
val jumlisha: (Int, Int) -> Int = { x, y -> x + y }
println(jumlisha(4, 6))
}
Hapo utapata jibu 10.
fun main() {
val salamu: () -> Unit = {
print("salamu sana Mteja")
}
salamu()
}
Tunakwenda kutengeneza program kwa ajili ya kubadili mita kuwa kilopita.
Kanuni za kihesabu zinasema kilomita moja ni sawa na mita 1000. Hiyo ili tubadili mita kuwa kilomita itatubidi tugawanye kwa 1000.
fun badili(mita: Double): Double {
return mita / 1000
}
fun main() {
println("andika Mita")
val mita = readLine()?.toDoubleOrNull() ?: 0.0
if (mita != null) {
println(badili(mita))
} else {
println("weka namba")
}
}
...
Umeionaje Makala hii.. ?
Share On:
π1 kitabu cha Simulizi π2 ai web app π3 Sira ya Mtume Muhammad (s.a.w) π4 Madrasa kiganjani π5 Kitau cha Fiqh π6 Tafasiri ya Riyadh Swalihina
Post zinazofanana:
KOTLIN somo la 13: Jinsi ya kuandika function na kuweka parameter
Katika somo hili utakwend akujifunza maana ya function, jinsi ya kuandika function na kuweka parameter kwenye function
Soma Zaidi...KOTLIN somo la 19: method na properties zinazotumika kwenye set
Katika somo hili tutakwenda kujifunza kuhusu set data type pamoja na method ambazo hufanya kazi kwenye set.
Soma Zaidi...Kotlin Somo la 31: Objects na Companion Objects
Somo hili linaeleza matumizi ya objects na companion objects katika Kotlin. Tutajifunza tofauti kati ya object na class ya kawaida, faida za singleton pattern, na jinsi ya kutumia companion kama mbadala wa static members katika Java.
Soma Zaidi...KOTLIN somo la 17: method na properties za namba
Katika somo hili tutajifunza kuhusu method na properties za Kotlin zinazofanya kazi kwenye namba.
Soma Zaidi...Kotlin Somo la 27: Polymorphism
Somo hili linaeleza dhana ya polymorphism katika OOP ya Kotlinβuwezo wa kutumia method au object moja kufanya kazi tofauti kulingana na muktadha wake. Tutajifunza aina kuu za polymorphism, jinsi ya kuandika code inayotumia override, open, super, pamoja na mifano hai.
Soma Zaidi...Kotlin Somo la 30: Data Classes
Somo hili linaeleza maana ya data classes katika Kotlin, kwa nini zipo, jinsi ya kuzitumia, sifa zake, pamoja na mifano ya vitendo. Pia tutajifunza tofauti kati ya class ya kawaida na data class.
Soma Zaidi...