Kotlin Fonksiyonu (Örnekle)

İçindekiler

Bu makalede, işlevler hakkında bilgi edineceksiniz; hangi işlevler, sözdizimi ve Kotlin'de bir kullanıcı işlevi nasıl oluşturulur.

Programlamada işlev, belirli bir görevi yerine getiren bir grup ilişkili ifadedir.

Fonksiyonlar, büyük bir programı daha küçük ve modüler parçalara ayırmak için kullanılır. Örneğin, kullanıcıdan gelen girdiye göre bir daire oluşturmanız ve renklendirmeniz gerekir. Bu sorunu çözmek için iki işlev oluşturabilirsiniz:

  • createCircle() Fonksiyon
  • colorCircle() Fonksiyon

Karmaşık bir programı daha küçük bileşenlere bölmek, programımızı daha düzenli ve yönetilebilir hale getirir.

Dahası, tekrarı önler ve kodu yeniden kullanılabilir hale getirir.

Fonksiyon Türleri

Bir işlevin kullanıcı tarafından tanımlanmasına veya standart kitaplıkta bulunmasına bağlı olarak, iki tür işlev vardır:

  • Kotlin Standart Kitaplık İşlevi
  • Kullanıcı tanımlı işlevler

Kotlin Standart Kitaplık İşlevi

Standart kütüphane işlevleri, Kotlin'de kullanıma hazır olan yerleşik işlevlerdir. Örneğin,

  • print() mesajı standart çıktı akışına (monitör) yazdıran bir kitaplık işlevidir.
  • sqrt()bir sayının ( Doubledeğer) karekökünü döndürür
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Programı çalıştırdığınızda, çıktı:

 Sonuç = 2,345207879911715

İşte keşfetmeniz için Kotlin Standart Kitaplığı'na bir bağlantı.

Kullanıcı Tanımlı İşlevler

Belirtildiği gibi, işlevleri kendiniz oluşturabilirsiniz. Bu tür işlevlere kullanıcı tanımlı işlevler denir.

Kotlin'de kullanıcı tanımlı bir işlev nasıl oluşturulur?

Bir işlevi kullanmadan (çağırmadan) önce onu tanımlamanız gerekir.

Kotlin'de bir işlevi şu şekilde tanımlayabilirsiniz:

 eğlenceli callMe () (// işlev gövdesi) 

Kotlin'de bir fonksiyon tanımlamak için funanahtar kelime kullanılır. Ardından işlevin adı (tanımlayıcı) gelir. Burada işlevin adı callMe'dir.

Yukarıdaki programda parantez ( )boştur. Bu, bu işlevin herhangi bir argüman kabul etmediği anlamına gelir. Bu makalenin ilerleyen bölümlerinde argümanlar hakkında bilgi edineceksiniz.

Küme parantezlerinin içindeki kodlar ( ), işlevin gövdesidir.

Bir fonksiyon nasıl çağrılır?

İşlev gövdesi içindeki kodları çalıştırmak için işlevi çağırmanız gerekir. Bunu nasıl yapacağınız aşağıda açıklanmıştır:

 beni ara()

Bu ifade, callMe()daha önce bildirilen işlevi çağırır .

Örnek: Basit Fonksiyon Programı

 fun callMe() ( println("Printing from callMe() function.") println("This is cool (still printing from inside).") ) fun main(args: Array) ( callMe() println("Printing outside from callMe() function.") )

Programı çalıştırdığınızda, çıktı:

CallMe () işlevinden yazdırma. Bu harika (hala içeriden yazdırılıyor). CallMe () işlevinden dışarıdan yazdırma.

callMe()Yukarıdaki kodda fonksiyonu herhangi bir savunma kabul etmez.

Ayrıca, işlev herhangi bir değer döndürmez (dönüş türü Unit).

Başka bir fonksiyon örneğini ele alalım. Bu işlev bağımsız değişkenleri kabul eder ve ayrıca bir değer döndürür.

Örnek: Fonksiyonu Kullanarak İki Sayı Ekleme

 fun addNumbers(n1: Double, n2: Double): Int ( val sum = n1 + n2 val sumInteger = sum.toInt() return sumInteger ) fun main(args: Array) ( val number1 = 12.2 val number2 = 3.4 val result: Int result = addNumbers(number1, number2) println("result = $result") )

Programı çalıştırdığınızda, çıktı:

 sonuç = 15

Bağımsız değişkenler ve dönüş değeri içeren işlevler nasıl çalışır?

Burada, işlev çağrısı sırasında işleve sayı1 ve sayı2 türünde iki bağımsız değişken Doublegeçirilir addNumbers(). Bu argümanlara gerçek argümanlar denir.

 sonuç = addNumbers (sayı1, sayı2)

N1 ve n2 parametreleri, aktarılan bağımsız değişkenleri kabul eder (işlev tanımında). Bu argümanlara biçimsel argümanlar (veya parametreler) denir.

Kotlin'de argümanlar virgülle ayrılır. Ayrıca, biçimsel argümanın türü açıkça yazılmalıdır.

Aktüel ve resmi argümanların veri tipinin eşleşmesi gerektiğine dikkat edin, yani ilk gerçek argümanın veri tipi ilk resmi argümanın tipiyle eşleşmelidir. Benzer şekilde, ikinci gerçek argümanın türü, ikinci resmi argümanın türüyle eşleşmelidir ve bu böyle devam eder.

Buraya,

 return sumInteger

dönüş ifadesidir. Bu kod addNumbers()işlevi sonlandırır ve programın kontrolü main()işleve atlar .

Programda, sumInteger addNumbers()işlevinden döndürülür . Bu değer, sonuç değişkenine atanır.

Farkına varmak,

  • hem sumInteger hem de sonuç türündedir Int.
  • işlevin dönüş türü işlev tanımında belirtilir.
     // return type is Int fun addNumbers(n1: Double, n2: Double): Int (… )

If the function doesn't return any value, its return type is Unit. It is optional to specify the return type in the function definition if the return type is Unit.

Example: Display Name by Using Function

 fun main(args: Array) ( println(getName("John", "Doe")) ) fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

When you run the program, the output will be:

 John Doe

Here, the getName() function takes two String arguments, and returns a String.

You can omit the curly braces ( ) of the function body and specify the body after = symbol if the function returns a single expression (like above example).

It is optional to explicitly declare the return type in such case because the return type can be inferred by the compiler. In the above example, you can replace

 fun getName (firstName: String, lastName: String): String = "$ firstName $ lastName"

ile

 fun getName (firstName: String, lastName: String) = "$ firstName $ lastName" 

Bu, Kotlin'deki işlevlere yalnızca kısa bir giriş niteliğindedir. İşlevlerle ilgili önerilen makaleler:

  • Kotlin satır içi işlevleri
  • Kotlin infix fonksiyonları
  • Kotlin işlevi kapsamı
  • Kotlin Varsayılanı ve Adlandırılmış Bağımsız Değişkenler
  • Kotlin Özyinelemesi
  • Kotlin Tail Özyinelemeli işlevi
  • Kotlin Uzantı İşlevi
  • Kotlin Yüksek Sıralı İşlevler ve Lambdalar

Ilginç makaleler...