توابع (Functions)
تابع (Function) یک بلوک کد آماده است. وقتی صدا زده شود، اجرا می شود. ورودی ها را «پارامتر» می گوییم. خروجی هم «مقدار بازگشتی» است. مثل دکمه آسانسور؛ فشار می دهی و کار انجام می شود.
توابع از پیش تعریف شده
تابع println() متن را روی خروجی چاپ می کند.
fun main() {
println("Hello World")
}
ساختن تابع خودت
با کلیدواژه fun و یک نام، تابع بساز.
fun myFunction() {
println("I just got executed!")
}
صدا زدن تابع
نام تابع را با پرانتز بنویس و اجرا می شود.
fun main() {
myFunction()
}
می توانی چندبار هم صدا بزنی.
fun main() {
myFunction()
myFunction()
myFunction()
}
پارامتر (Parameter) و آرگومان
پارامتر ورودی تابع است. مقدارِ هنگام فراخوانی، آرگومان نام دارد.
fun myFunction(fname: String) {
println(fname + " Doe")
}
fun main() {
myFunction("John")
myFunction("Jane")
myFunction("George")
}
نکته: تعداد و ترتیب آرگومان ها باید با پارامترها یکسان باشد.
fun myFunction(fname: String, age: Int) {
println(fname + " is " + age)
}
fun main() {
myFunction("John", 35)
myFunction("Jane", 32)
myFunction("George", 15)
}
مقدار بازگشتی
با return برگردان. نوع خروجی را بعد پرانتزها بنویس.
fun myFunction(x: Int): Int {
return (x + 5)
}
fun main() {
val result = myFunction(3)
println(result)
}
این بار با دو پارامتر عددی جمع را برگردان.
fun myFunction(x: Int, y: Int): Int {
return (x + y)
}
fun main() {
val result = myFunction(3, 5)
println(result)
}
نگارش کوتاه خروجی
می توانی از بدنه تک عبارتی استفاده کنی. نوع را حدس می زند.
fun myFunction(x: Int, y: Int) = x + y
fun main() {
val result = myFunction(3, 5)
println(result)
}
تمرین مرحله ای
- تابع hello بساز که نام را بگیرد.
- اگر نام خالی بود، «مهمان» چاپ کن.
- با چند نام مختلف آزمایش کن.
نکته: برای کار با داده تکراری از حلقه for کمک بگیر. همچنین بازه ها را در بازه ها ببین.
توابع در کاتلین مرجع فشرده همین صفحه است.
جمع بندی سریع
- fun تابع می سازد.
- پارامتر ورودی تابع است.
- return مقدار خروجی می دهد.
- بدنه تک عبارتی کد را کوتاه می کند.