फ़ंक्शन और लैम्ब्डा
पैरामीटर और रिटर्न प्रकार वाले फ़ंक्शन परिभाषित करें, डिफ़ॉल्ट और नामित आर्ग्युमेंट का उपयोग करें तथा संक्षिप्त लैम्ब्डा अभिव्यक्तियाँ लिखें।
फ़ंक्शन और लैम्ब्डा, CoddyKit पर Android Academy का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Android Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Android Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
Functions क्यों?
Functions आपको code के किसी block को एक बार लिखकर कहीं भी दोबारा उपयोग करने देते हैं।
- दोहराव कम करते हैं
- code को पढ़ना और test करना आसान बनाते हैं
- बड़ी समस्याओं को छोटे भागों में बाँटते हैं
Kotlin में functions first-class होते हैं — आप उन्हें variables में रख सकते हैं और एक-दूसरे को पास कर सकते हैं।
Function का मूल syntax
Kotlin function में fun keyword का उपयोग होता है:
fun greet(name: String): String {
return "Hello, $name!"
}
fun main() {
val msg = greet("Alice")
println(msg) // Hello, Alice!
println(greet("Bob")) // Hello, Bob!
}एकल-expression Functions
जब किसी function का body एक ही expression हो, तो आप = का उपयोग करके braces और return छोड़ सकते हैं:
fun square(n: Int): Int = n * n
fun add(a: Int, b: Int) = a + b // type inferred
fun main() {
println(square(5)) // 25
println(add(3, 7)) // 10
}डिफ़ॉल्ट और नामित Arguments
Kotlin functions डिफ़ॉल्ट parameter values का समर्थन करते हैं — overloads की आवश्यकता नहीं होती:
- डिफ़ॉल्ट:
fun greet(name: String = "World") - नामित: positional order को छोड़ने के लिए
greet(name = "Alice")के साथ call करें
डिफ़ॉल्ट और नामित Arguments का प्रयोग
डिफ़ॉल्ट arguments आपके API को साफ़-सुथरा रखते हैं:
fun buildProfile(
name: String,
age: Int = 0,
role: String = "User"
): String {
return "$name | age=$age | $role"
}
fun main() {
println(buildProfile("Alice"))
println(buildProfile("Bob", age = 30))
println(buildProfile("Carol", 25, "Admin"))
}Lambdas क्या हैं?
lambda एक anonymous function है — यानी बिना नाम वाला function।
- Syntax:
{ params -> body } - किसी variable में रखा जाता है:
val double = { x: Int -> x * 2 } - किसी अन्य function को argument के रूप में दिया जाता है
Android में lambdas हर जगह होते हैं: click listeners, list transformations और coroutines में।
Lambda के उदाहरण
सामान्य functions की तरह lambdas को store और call करें:
fun main() {
val double = { x: Int -> x * 2 }
println(double(4)) // 8
val add = { a: Int, b: Int -> a + b }
println(add(3, 5)) // 8
// Lambda with no params
val sayHi = { println("Hi!") }
sayHi() // Hi!
}Higher-Order Functions
higher-order function किसी अन्य function को parameter के रूप में लेता है या कोई function लौटाता है।
Kotlin की standard library में ऐसे बहुत-से functions हैं: filter, map, forEach।
Trailing lambda syntax: जब अंतिम argument lambda हो, तो उसे parentheses के बाहर ले जाएँ।
Trailing Lambda Syntax
अंतिम argument के रूप में lambda को parentheses के बाहर दें:
fun applyTwice(n: Int, operation: (Int) -> Int): Int {
return operation(operation(n))
}
fun main() {
val result = applyTwice(3) { x -> x * 2 }
println(result) // 12 (3 * 2 = 6, 6 * 2 = 12)
// 'it' is the implicit single parameter
val doubled = applyTwice(5) { it + it }
println(doubled) // 20
}त्वरित जाँच
इस code को देखें। यह क्या print करेगा?
val triple = { x: Int -> x * 3 }
println(triple(4))
पुनरावलोकन: Functions और Lambdas
आपने सीखा:
funparams और return type वाला function परिभाषित करता है- एकल-expression functions में
=का संक्षिप्त रूप उपयोग होता है - डिफ़ॉल्ट और नामित arguments overloads का स्थान लेते हैं
- Lambdas anonymous functions होते हैं:
{ params -> body } - Higher-order functions functions को parameters के रूप में स्वीकार करते हैं
अगला विषय: conditions और loops से program flow को नियंत्रित करना।
एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 36
- पाठ
- 152
अक्सर पूछे जाने वाले प्रश्न
क्या “फ़ंक्शन और लैम्ब्डा” पाठ निःशुल्क है?
हाँ — Android Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “फ़ंक्शन और लैम्ब्डा” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Android Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“फ़ंक्शन और लैम्ब्डा” में मैं क्या सीखूँगा?
पैरामीटर और रिटर्न प्रकार वाले फ़ंक्शन परिभाषित करें, डिफ़ॉल्ट और नामित आर्ग्युमेंट का उपयोग करें तथा संक्षिप्त लैम्ब्डा अभिव्यक्तियाँ लिखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Android Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Android Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Android Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।
“फ़ंक्शन और लैम्ब्डा” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Android Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Android Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- चर और डेटा प्रकार
- फ़ंक्शन और लैम्ब्डा
- नियंत्रण प्रवाह