Introducció
En aquest tema, explorarem les funcions i les lambdas en Kotlin. Les funcions són blocs de codi reutilitzables que realitzen una tasca específica, mentre que les lambdas són funcions anònimes que es poden passar com a arguments a altres funcions. Aprendre a utilitzar funcions i lambdas és essencial per escriure codi Kotlin eficient i llegible.
Funcions en Kotlin
Definició de Funcions
En Kotlin, les funcions es defineixen amb la paraula clau fun
, seguit del nom de la funció, els paràmetres entre parèntesis i el tipus de retorn. Aquí teniu un exemple bàsic:
Funcions d'Una Sola Línia
Si la funció és molt senzilla, es pot definir en una sola línia utilitzant l'operador =
:
Funcions amb Paràmetres per Defecte
Kotlin permet definir valors per defecte per als paràmetres de les funcions. Això és útil per evitar sobrecàrregues de funcions:
Funcions d'Ordre Superior
Les funcions d'ordre superior són funcions que poden rebre altres funcions com a paràmetres o retornar funcions. Aquí teniu un exemple:
fun opera(a: Int, b: Int, operacio: (Int, Int) -> Int): Int { return operacio(a, b) } fun main() { val suma = { x: Int, y: Int -> x + y } println(opera(3, 4, suma)) // Output: 7 }
Lambdas en Kotlin
Definició de Lambdas
Una lambda és una funció anònima que es pot definir de manera concisa. Aquí teniu un exemple de lambda que suma dos números:
Utilització de Lambdas
Les lambdas es poden passar com a arguments a funcions d'ordre superior. Aquí teniu un exemple:
fun main() { val restaLambda = { x: Int, y: Int -> x - y } println(opera(10, 5, restaLambda)) // Output: 5 }
Lambdas amb Paràmetres It
Si una lambda té un sol paràmetre, es pot utilitzar la paraula clau it
per referir-s'hi:
Exercicis Pràctics
Exercici 1: Funció de Multiplicació
Escriu una funció anomenada multiplica
que prengui dos números enters com a paràmetres i retorni el seu producte.
Exercici 2: Lambda de Divisió
Defineix una lambda que prengui dos números enters i retorni el resultat de la seva divisió.
Exercici 3: Funció d'Ordre Superior amb Lambda
Escriu una funció d'ordre superior anomenada aplicaOperacio
que prengui dos números enters i una lambda, i retorni el resultat de la lambda aplicada als dos números.
fun aplicaOperacio(a: Int, b: Int, operacio: (Int, Int) -> Int): Int { return operacio(a, b) } fun main() { val suma = { x: Int, y: Int -> x + y } println(aplicaOperacio(3, 4, suma)) // Output: 7 }
Resum
En aquesta secció, hem après a definir i utilitzar funcions i lambdas en Kotlin. Les funcions ens permeten encapsular blocs de codi reutilitzables, mentre que les lambdas ens permeten definir funcions anònimes de manera concisa. També hem vist com les funcions d'ordre superior poden rebre lambdas com a arguments, permetent-nos escriure codi més flexible i modular.
En el següent mòdul, explorarem la programació orientada a objectes en Kotlin, incloent-hi classes, objectes, herència i interfícies.
Curs de Programació en Kotlin
Mòdul 1: Introducció a Kotlin
- Introducció a Kotlin
- Configuració de l'Entorn de Desenvolupament
- Conceptes Bàsics de Kotlin: Variables i Tipus de Dades
- Flux de Control: Condicionals i Bucles
- Funcions i Lambdas
Mòdul 2: Programació Orientada a Objectes en Kotlin
- Classes i Objectes
- Herència i Interfícies
- Modificadors de Visibilitat
- Classes de Dades i Classes Segellades
- Declaracions d'Objectes i Objectes Companys
Mòdul 3: Funcions Avançades de Kotlin
- Col·leccions i Genèrics
- Funcions d'Extensió
- Funcions d'Ordre Superior i Programació Funcional
- Coroutines i Programació Asíncrona
- DSL (Llenguatge Específic de Domini) en Kotlin
Mòdul 4: Kotlin per al Desenvolupament d'Android
- Introducció al Desenvolupament d'Android amb Kotlin
- Construcció d'Interfícies d'Usuari
- Gestió de l'Entrada de l'Usuari
- Xarxes i Emmagatzematge de Dades
- Proves i Depuració