Quali sono i tipi di funzioni di portata a Kotlin?
Le funzioni dell'ambito rendono il nostro codice molto più leggibile, conciso e diretto, che sono tutti importanti attributi del linguaggio di programmazione Kotlin. Quando non utilizziamo la funzione dell'ambito, dobbiamo digitare il nome dell'oggetto ogni volta che vogliamo fare riferimento a un membro della classe. Ma possiamo fare riferimento ai membri senza fornire il nome dell'oggetto quando si utilizza la funzione dell'ambito. Abbiamo cinque funzioni di portata in generale, tutte molto simili con lievi differenze.
Come utilizzare le funzioni di portata di Kotlin?
Per comprendere le basi dell'utilizzo delle diverse funzioni di portata nel linguaggio di Kotlin, dovresti dare un'occhiata ai seguenti esempi:
Esempio n. 1: usando la funzione dell'ambito "let" in Kotlin
La funzione let viene spesso utilizzata per eseguire un blocco di codice solo con valori non nulli. Dobbiamo usare l'operatore di sicurezza "?."Su un oggetto non nullo. Usiamo la funzione Let nel codice seguente.
Abbiamo la funzione principale. Nel blocco delle funzioni principali, abbiamo una variabile come parola chiave "val" e definita come "STR1" . Il set variabile "STR1" con la proprietà del tipo INT e l'operatore Null di sicurezza viene utilizzato per verificare se il valore è nullo o meno. Poiché abbiamo inizializzato la variabile "str1" con il valore intero che non è nullo. Quindi, dobbiamo usare la funzione Let per "STR1". Nel blocco funzione let, abbiamo superato una parola chiave "esso" come parametro nella funzione println che è un oggetto di contesto. Successivamente, abbiamo un'altra variabile definita come "STR2" e ha una proprietà di tipo di stringa. L'operatore di sicurezza null viene utilizzato anche qui per verificare la nulllabilità. Lo "STR2" è dichiarato con il valore della stringa. Ora, usando la funzione Let che restituirà i valori "STR2" in quanto non è nullo. Qui, abbiamo semplicemente passato "str2" alla funzione println.
L'output dell'utilizzo della funzione Let viene visualizzata nella schermata seguente.
Esempio n. 2: utilizzando la funzione dell'ambito "Applica" in Kotlin
La funzione Applica viene utilizzata per lavorare sui membri dell'oggetto ricevitore principalmente per inizializzarli. La funzione Applica per i blocchi di codice che restituiscono un oggetto stesso e la parola chiave "questo" è l'oggetto contesto qui.
Nel codice sopra, abbiamo creato un "dipendente" di classe in cui abbiamo definito le variabili in lattine. La variabile di lattine è una variabile inizializzata. Abbiamo tre variabili in lattine per il "dipendente" di classe come "empname", "empcontact" e "empdept" e impostare la proprietà del tipo di stringa per queste variabili definite. Quindi, dobbiamo chiamare la funzione principale in cui abbiamo usato la funzione applica. Nella funzione Applica, abbiamo la parola chiave "questa" usata con la variabile "empname". La parola chiave "questo" funge da riferimento dell'oggetto e contiene la stringa come valore di inizializzazione. Abbiamo anche inizializzato le variabili "empcontact" e "empdept" con i valori particolari. La parola chiave "questa" funziona come l'altra variabile dichiarata nel codice. Attraverso la funzione println, avremo i valori stampati.
L'output della funzione Applica è mostrata sullo schermo del terminale.
Esempio n. 3: usando la funzione dell'ambito "con" in Kotlin
Quando si invocano le funzioni sugli oggetti di contesto senza dare il risultato Lambda, si consiglia l'uso di "con".
Abbiamo una "persona" di classe in cui abbiamo definito le variabili in lattina. Alle variabili viene assegnato un nome "nome" e "età" e impostare la proprietà del tipo di stringa. Quindi, abbiamo la funzione principale in cui abbiamo creato un oggetto chiamato "P1". L'oggetto "P1" sta invocando la funzione applica. Nella funzione Applica, abbiamo inizializzato il "nome" e "età" variabili con i valori. Dopo questo, abbiamo invocato la funzione "con" e abbiamo superato un oggetto "P1" come parametro ad esso. Si noti che non abbiamo usato "$ name" e "$ age" nella funzione println perché sarebbe ridondante perché il blocco del codice riconosce che "nome" e "età" sono usati in questo contesto sul Oggetto "P1".
Nella schermata del terminale in basso, l'uscita viene stampata.
Esempio n. 4: usando la funzione dell'ambito "Esegui" in Kotlin
La funzione "Esegui" è identica alle funzioni "let" e "con". Quando l'oggetto Lambda comprende sia l'elaborazione del valore dell'oggetto che la funzione "Esegui" è utile.
Nel codice sopra, abbiamo una classe chiamata "insegnanti" in cui abbiamo definito le variabili come "nome", "telefono" e "soggetto". Quindi nella funzione principale, abbiamo un oggetto come "insegnante" che utilizza la funzione applica. Si noti che non abbiamo usato un nome oggetto per fare riferimento ai membri della classe e inizializzarli con i valori. Successivamente, abbiamo invocato la funzione di esecuzione che è nota come funzione di esecuzione non estensione perché non viene passato alcun oggetto ricevitore ad essa.
L'output della funzione di esecuzione non estensione è mostrata nell'immagine seguente.
Esempio n. 5: usando la funzione di portata "anche" in Kotlin
La funzione "anche" è paragonabile alla funzione "let", tranne per il fatto che si riferisce al contesto dell'oggetto come "esso" piuttosto che "questo" e fornisce controlli di sicurezza nulli.
Nel codice sopra, abbiamo una funzione principale in cui dichiariamo una variabile come "val" con il nome "mylist". La variabile "mylist" contiene l'elenco dei valori utilizzando la funzione mutablelistof. Abbiamo definito la funzione "anche" per la variabile "mylist". Nel blocco "anche", abbiamo usato la parola chiave "IT" con la funzione ADD e abbiamo passato un valore ad essa. Quindi, dobbiamo utilizzare nuovamente la parola chiave "it" con la funzione di rimuovere e passare un valore che vogliamo rimuovere. Attraverso la funzione println, vedremo i valori dell'elenco aggiornati.
L'output di seguito mostra che l'elenco è stato aggiornato.
Conclusione
Abbiamo superato le funzioni dell'ambito in profondità in base ai risultati dimostrati dell'esempio precedente. Tutte queste illustrazioni sono semplici e eseguite su Ubuntu 20.04 e ti aiuteranno a imparare a utilizzare le funzioni di portata.