Προβληματικά και ονομαστικά επιχειρήματα Kotlin (με παραδείγματα)

Σε αυτό το άρθρο, θα μάθετε σχετικά με τα προεπιλεγμένα και ονομαστικά ορίσματα με τη βοήθεια παραδειγμάτων.

Προεπιλεγμένο επιχείρημα Kotlin

Στο Kotlin, μπορείτε να παρέχετε προεπιλεγμένες τιμές σε παραμέτρους στον ορισμό της συνάρτησης.

Εάν η συνάρτηση καλείται με περάσματα ορίσματα, αυτά τα ορίσματα χρησιμοποιούνται ως παράμετροι. Ωστόσο, εάν η συνάρτηση καλείται χωρίς να περάσει ορίσματα, χρησιμοποιείται το προεπιλεγμένο όρισμα.

Πώς λειτουργεί τα προεπιλεγμένα ορίσματα;

Περίπτωση I: Όλα τα επιχειρήματα πέρασαν

Η συνάρτηση foo()παίρνει δύο ορίσματα. Τα ορίσματα παρέχονται με προεπιλεγμένες τιμές. Ωστόσο, foo()καλείται περνώντας και τα δύο επιχειρήματα στο παραπάνω πρόγραμμα. Ως εκ τούτου, τα προεπιλεγμένα ορίσματα δεν χρησιμοποιούνται.

Η τιμή του γράμματος και του αριθμού θα είναι 'x'και 2 αντίστοιχα μέσα στη foo()συνάρτηση.

Περίπτωση II: Όλα τα επιχειρήματα δεν περνούν

Εδώ, μόνο ένα (πρώτο) όρισμα περνά στη foo()συνάρτηση. Ως εκ τούτου, το πρώτο όρισμα χρησιμοποιεί την τιμή που μεταβιβάζεται στη συνάρτηση. Ωστόσο, ο δεύτερος αριθμός ορίσματος θα λάβει την προεπιλεγμένη τιμή δεδομένου ότι το δεύτερο όρισμα δεν περνά κατά τη διάρκεια της κλήσης συνάρτησης

Η τιμή του γράμματος και του αριθμού θα είναι 'y'και 15 αντίστοιχα μέσα στη foo()συνάρτηση.

Περίπτωση III: Δεν περνά κανένα επιχείρημα

Εδώ, η foo()συνάρτηση καλείται χωρίς να περάσει κανένα όρισμα. Ως εκ τούτου, και τα δύο ορίσματα χρησιμοποιούν τις προεπιλεγμένες τιμές του.

Η τιμή του γράμματος και του αριθμού θα είναι 'a'και 15 αντίστοιχα μέσα στη foo()συνάρτηση.

Παράδειγμα: Προεπιλεγμένο επιχείρημα Kotlin

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( println("Output when no argument is passed:") displayBorder() println("'*' is used as a first argument.") println("Output when first argument is passed:") displayBorder('*') println("'*' is used as a first argument.") println("5 is used as a second argument.") println("Output when both arguments are passed:") displayBorder('*', 5) )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

Έξοδος όταν δεν περνά κανένα όρισμα: =============== '*' χρησιμοποιείται ως πρώτο όρισμα. Έξοδος όταν περάσει το πρώτο όρισμα: *************** '*' χρησιμοποιείται ως πρώτο όρισμα. 5 χρησιμοποιείται ως δεύτερο επιχείρημα. Έξοδος όταν περάσουν και τα δύο ορίσματα: *****

Ο Κότλιν ονόμασε επιχείρημα

Πριν μιλήσουμε για το ονομαστικό όρισμα, ας εξετάσουμε μια μικρή τροποποίηση του παραπάνω κώδικα:

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(5) )

Εδώ, προσπαθούμε να περάσουμε το δεύτερο όρισμα στη displayBorder()συνάρτηση και να χρησιμοποιήσουμε το προεπιλεγμένο όρισμα για το πρώτο όρισμα. Ωστόσο, αυτός ο κωδικός θα χρησιμοποιήσει ένα σφάλμα. Είναι επειδή ο μεταγλωττιστής πιστεύει ότι προσπαθούμε να παρέχουμε 5 ( Intτιμή) στον χαρακτήρα ( Charτύπος).

Για την επίλυση αυτής της κατάστασης, μπορούν να χρησιμοποιηθούν ονομαστικά ορίσματα. Εδώ: πώς:

Παράδειγμα: Το όνομα Kotlin ορίστηκε

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(length = 5) ) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 =====

Στο παραπάνω πρόγραμμα, χρησιμοποιούμε το ονομαστικό όρισμα ( length = 5) καθορίζοντας ότι η παράμετρος μήκους στον ορισμό της συνάρτησης πρέπει να λάβει αυτήν την τιμή (δεν έχει σημασία η θέση του ορίσματος).

Ο πρώτος χαρακτήρας ορίσματος χρησιμοποιεί την προεπιλεγμένη τιμή '='στο πρόγραμμα.

ενδιαφέροντα άρθρα...