Go Worker Pool

Los worker pool son threads, implementados en Go como Goroutines, que recibe tareas a través de un channel. Cada tarea permanece en el canal como una cola hasta que el worker termina y se libera para tomar otro nuevo trabajo.

[Leer más]
go  golang 

Go Defer

Defer invokes a function after the current function has finished. The defer statement will cause the function that has been “deferred” to be executed at the end of the function that is being executed.

[Leer más]
go  golang 

Go Defer

Defer invoca una función después de que la función actual ha terminado. La sentencia defer hará que la función que se ha “diferido” se ejecute al finalizar la función que se está ejecutando.

[Leer más]
go  golang 

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 de Golang. Leer todo un archivo en memoria con Golang Partamos de un ejemplo en el que leemos un archivo de texto en memoria con Go y luego imprimimos todo su contenido. [Leer más]

Golang read files

Reading files is one of the most basic tasks of any program and in Golang it is quite simple. We will see in this post how to open a file, read its contents and print it. If you want to read a text file and view its contents, you should only use the io/ioutil package in conjunction with Golang’s bufio. Read a whole file in memory with Golang Let’s start with an example in which we read a text file in memory with Go and then we print all its contents. [Leer más]

Golang Select

Select allows you to wait and choose the result of operations you have done using channels. This instruction is blocking, so it blocks the code flow until one of the sending and receiving operations have finished. In case there are several operations ready at the same time, ‘go’ chooses one at random. Let’s see the following example in which we create two functions. One simulates one operation that runs quickly and the other that takes more time. [Leer más]
go  golang 

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 azar. Veamos el siguiente ejemplo en el que creamos dos funciones. Una de ellas simula una operación que se ejecuta rápidamente y la otra que demora más tiempo. [Leer más]
go  golang 

Golang Closures

To understand the closures in Go we must first understand anonymous functions. Anonymous functions are simply functions that we have created without a name and that we then assign to a variable or that we use directly. Let’s see the example below where we have assigned a function to the variable “a”. There is no defined name for the function and we can use it through the variable to which the function is assigned. [Leer más]