Golang leer archivos

Leer archivos es una de las tareas más básicas de cualquier programa y en Golang es bastante simple. Veremos en este post como abrir un archivo, leer su contenido e imprimirlo.
Si deseas leer un archivo de texto y visualizar su contenido solo debes hacer uso del paquete io/ioutil en conjunto con bufio. Este post te explica de forma simple como usarlos.

Golang curso inicial

Este curso intenta darte una introducción muy rápida (rapidísima 🙂 ) sobre las principales características de Golang con ejemplos simples. Todo el código de ejemplo está disponible tanto en github como gitlab. Una vez obtenido un pantallazo sobre el lenguaje podrás decidir si te gusta o no y si quieres continuar profundizando.

Golang Select

Select te permite esperar y elegir el resultado de operaciones que has realizado usando channels. Esta instrucción es bloqueante, por lo que bloquea el flujo de código hasta tanto una de las operaciones de envío y recepción haya finalizado. En el caso de que haya varias operaciones listas al mismo tiempo, ‘go’ elige uno al… Read More »

Golang Closures

Para comprender los closures en Go primero debemos comprender sobre funciones anónimas. Las funciones anónimas son simplemente funciones que hemos creado sin un nombre y que luego asignamos a una variable o que usamos directamente. Veamos el ejemplo a continuación en donde hemos asignado una función a la variable “a” . No hay nombre definido… Read More »

Go Channels

Qué son los channels en Golang En Golang los channels son canales que usas para comunicarte con Goroutines. A través de estos canales puedes enviar de un extremo a otro información. Para este fin utilizamos el operador

Como usar Spring Boot Retry

Descripción Spring Boot Retry ofrece una forma simple para reintentar alguna operación que ha fallado. Esto es útil sobre todo cuando se tratan errores temporales o transitorios como el acceso a un recurso externo. Spring Boot Retry puede configurarse de forma declarativa mediante anotaciones o definiendo una config general. Vamos a ver aquí cómo utilizar… Read More »

Java como cambiar el time zone a un Date

Vamos a examinar cómo cambiar el time zone de un date en java de distintos modos. Como cambiar el timezone de un java.util.Date usando SimpleDateFormat Debemos tener claro que la clase Date en Java no tiene time zone. java.util.Date representa la cantidad de segundos transcurridos desde la medianoche 1 de enero de 1970 a las… Read More »

Java Convertir un List a un Map usando Stream

En este articulo veras como convertir un list a un map utilizando para ello un Stream disponible desde Java 8. ¿Cómo convertir un List a un Map? Partiendo de una lista de productos creamos un Stream Usar Collectors.toMap para crear un map Luego haces uso del Stream y “Collectors.toMap” en donde para este ejemplo usamos… Read More »

Go como usar Goroutines

Un Goroutine es un hilo de ejecución ligero manejado por GO. Gorutine son funciones o métodos que se ejecutan simultáneamente. Podemos entenderlas como “hilos ligeros” con un costo mucho menor que un hilo tradicional. Supongamos que tienes dos funciones Si llamas a estas funciones de la forma habitual tendrías este resultado. Observa cómo la ejecución… Read More »

Java 8 Stream map flatMap y filter

Stream map te permite leer cada elemento y transformar los valores que se encuentran en el Stream entregandote otro Stream con el resultado para seguir realizando operaciones. Cómo usar Stream map Como puedes ver en el ejemplo a continuación map() recibe una función como parámetro para realizar alguna transformación sobre cada elemento y devuelve otro… Read More »

Java 8 Variable Scope en Lambda

Variable Scope en Lambdas El acceso a variables dentro de lambdas puede ser algo confuso, pero es sencillo si lo ves con un ejemplo. Observa este código en el cual accedemos a los parámetros “text” y “count” desde la expresión lambda. Cuando llamamos al método showText este ejecutará un nuevo hilo con la expresión lambda… Read More »

Java 8 Constructor por Referencia

Java Constructor por Referencia En Java 8 se han introducido importantes cambios como lambdas, interfaces funcionales y métodos por referencia. Veamos ahora cómo hacer uso de constructores por referencia. Si no has leido el articulo sobre métodos por referencia te recomiendo que le des un vistazo porque tiene mucho en común con el artículo a… Read More »

Java 8 Optional

Java 8 Optional Evitar los Nullpointer es uno de los problemas con los que habitualmente nos encontramos los programadores en Java. Continuamente realizamos operaciones para verificar que el valor no sea null o tener la precaución de devolver valores not null y a pesar de esto es habitual el fallo por los null pointer. Java… Read More »

Java 8 como usar fechas y horas con la api java.time

Java 8 nos trae al fin una nueva api para el manejo de fechas. Nos encontramos dentro del paquete java.time con nuevas clases para resolver los problemas con fechas como LocalDate, horas con LocalTime o la combinación de fecha y hora con LocalDateTime. También incluye como es debido dentro de esta api el uso de… Read More »

Java – como usar ExecutorService

Java ExecutorService ExecutorService nos simplifica las tareas asincronas proveyendo un pool de hilos que son manejados por esta API abstrayendonos del trabajo de crearlos y asignarles tareas a estos hilos. Utilizando la factory class Executors La forma más común para crear una instancia de ExecutorService es a través de la factory class Executors. Por ejemplo… Read More »

Go Tipos Básicos

Go Types – Go Tipos básicos ¿Cuáles son los tipos básicos definidos en Go? Go define diferentes tipos básicos entre los que puedes encontrar booleanos, string, numéricos enteros (con signo o sin signo), flotantes (números reales) y números complejos. Este recuadro te muestra los tipos básicos definidos en Go Los tipos int, uint y uintptr… Read More »

Go Errors

Go Errors ¿Cómo manejar los errores en Go? Go utilizar como concepto de error cualquier devolución a través de alguna implementación de la interfaz “error” provista por el lenguaje Para usar esta interfaz y devolver un error puedes utilizar una implementación ya provista por Go sobre esta interfaz haciendo uso de la función errors.New() del… Read More »

Go Punteros

Go Punteros (Pointers) ¿Qué son los punteros en Go? Un puntero es una referencia al valor almacenado en memoria. Para obtener la referencia al puntero del valor debes usar el símbolo “&” por delante y para obtener la desreferencia usas el símbolo “*” Por defecto Go envia los argumentos como valor, si deseas que los… Read More »

Go Interfaces

Go Interfaces ¿Qué son las interfaces en Go? En Go una Interface es un conjunto o colección de métodos que deberán ser implementados. Por ejemplo, suponemos que deseas una interfaz para figuras geométricas IShape que defina un método de cálculo del área para todos los tipos de figuras Ahora lo que haces es implementar esa… Read More »

Golang Packages

Go Packages ¿Cómo organiza Go sus archivos? Go organiza sus programas en paquetes y se inicia su ejecución en el package main Go, por convención, usa como nombre de package el último elemento de la ruta de los import. Por ejemplo, si importamos el paquete “math / rand”, esto incluye todos los archivos que se… Read More »