Entradas

Mostrando las entradas etiquetadas como tipos

Clase String

Imagen
Como vimos al tratar sobre los tipos básicos en Kotlin , el tipo String hace referencia a un tipo de dato inmutable formado por una sucesión de caracteres a los que se puede acceder por su índice. En esta entrada vamos a desarrollar y ampliar algunos conceptos sobre este tipo de dato y veremos diversas maneras de trabajar con ellos. La clase String representa una cadena o secuencia de caracteres , cuya instancia es creada entre comillas dobles y se conocen como strings literales . La propiedad length de la clase String devuelve un número entero que indica la longitud o número de caracteres de una secuencia (incluyendo espacios): val str = "Hola, soy un String." println ( str ) println ( "str tiene " + str . length + " caracteres" ) Un String está compuesto por caracteres a los que se puede acceder por su índice (empezando desde el cero): println ( str [ 3 ]) // a Combinando la propiedad length con los índices podemos obtener el pri...

Tipos genéricos en Kotlin

Imagen
Ya sabemos que Kotlin es un lenguaje de programación fuertemente tipado o de tipado estático, en el que el tipo, si no es explícito, es inferido y verificado. En este contexto, los tipos genéricos son poderosas herramientas que permiten definir clases, métodos y propiedades de manera que se puede acceder a ellos utilizando diferentes tipos. Es común utilizarlos en combinación con las colecciones para crear estructuras cuyos elementos no están limitados a un tipo determinado. Una clase o un método de tipo genérico se declara con parámetros de tipo (o tipo parametrizado) entre corchetes, y al crear una instancia de esa clase se debe proporcionar el tipo real del argumento (salvo que pueda ser inferido), por ejemplo: class Caja < T >( t : T ) {     var valor = t } fun main () {     val caja1 = Caja < Int >( 1 ) // val caja: Caja<Int> = Caja<Int>(1)     val caja2 = Caja ( 1 ) // inferencia del tipo ...

Ejemplo: Métodos para concatenar Arrays

Imagen
En relación a los arrays (ver Arrays en Kotlin ), este ejemplo muestra varias técnicas distintas que pueden servir para concatenar dos arrays en un nuevo array .

Arrays en Kotlin

Imagen
Como ya vimos cuando nos referimos a los tipos básicos de datos en Kotlin, básicamente un array es un contenedor o colección de tamaño fijo de elementos homogéneos (del mismo tipo) que se almacenan en una ubicación de memoria continua; su tamaño se establece en el momento de la declaración y se mantiene fijo durante el programa. En Kotlin un Array es una clase con una propiedad que define su tamaño (el número de elementos) y con funciones get y set y algunos otros métodos. En esta entrada vamos a repasar aspectos como su declaración, inicialización y acceso a sus elementos. Hay varias formas para crear un array en Kotlin, vamos a ver algunas de las más habituales: 1. Con las funciones arrayOf() y arrayOfNulls() : var miArrayEnteros = arrayOf < Int >( 1 , 10 , 4 , 6 , 15 ) var miArrayString = arrayOf < String >( "amarillo" , "verde" , "rojo" , "blanco" , "negro" ) // con tipos inferidos var n...

I/O: entrada y salida de datos en consola

Imagen
Dentro de la biblioteca estándar de Kotlin, el paquete kotlin.io proporciona elementos esenciales para trabajar con los flujos de entrada y salida estándar ( Input/Output o I/O). Esta transmisión de información entre la memoria principal y los dispositivos de entrada y salida permite, entre otras cosas, leer y escribir datos. En esta entrada vamos a tratar sobre cómo se transfieren datos de entrada y salida en consola (el paquete kotlin.io también proporciona herramientas para trabajar con archivos, como veremos en futuras entradas), lo que es útil para mostrar una información en pantalla y para obtener información aportada por el usuario, habitualmente a través de un dispositivo de entrada como el teclado . Output : Escribir en consola Como ya hemos visto en multitud de ejemplos previos, para enviar un mensaje a la salida estándar (la pantalla) usamos habitualmente las funciones print() y println() , que se diferencian en que la segunda incluye un salto de línea al final...