Hola mundo en Go

1

Introducción al Curso de Golang

2

¬ŅQu√© es, por qu√© y quienes utilizan Go?

3

Instalar Go en Linux

4

Instalar Go en Mac

5

Instalar Go en Windows

6

Nuestras primeras líneas de código con Go

Variables, funciones y documentación

7

Variables, constantes y zero values

8

Operadores aritméticos

9

Tipos de datos primitivos

10

Paquete fmt: algo m√°s que imprimir en consola

11

Uso de funciones

12

Go doc: La forma de ver documentación

Estructuras de control de flujo y condicionales

13

El poder de los ciclos en Golang: for, for while y for forever

14

Operadores lógicos y de comparación

15

El condicional if

16

M√ļltiple condiciones anidadas con Switch

17

El uso de los keywords defer, break y continue

Estructuras de datos b√°sicas

18

Arrays y Slices

19

Recorrido de Slices con Range

20

Llave valor con Maps

21

Structs: La forma de hacer clases en Go

22

Modificadores de acceso en funciones y Structs

Métodos e interfaces

23

Structs y Punteros

24

Stringers: personalizar el output de Structs

25

Interfaces y listas de interfaces

Concurrencia y Channels

26

¬ŅQu√© es la concurrencia?

27

Primer contacto con las Goroutines

28

Channels: La forma de organizar las goroutines

29

Range, Close y Select en channels

Manejo de paquetes y Go Modules

30

Go get: El manejador de paquetes

31

Go modules: Ir m√°s all√° del GoPath con Echo

32

Modificando módulos con Go

Despedida del curso

33

Despedida

Bonus

34

Cheat Sheet Go

35

Librerías para desarrollo web con Go

36

Data Science con Go

Data Science con Go

36/36

Lectura

Data Science con Go

Go, así como lo viste en el curso tiene características muy particulares que lo hace encajar muy bien en el mundo del Data Science. Especialmente en estas tres características:

  • Manejar tareas pesadas con m√ļltiples hilos de ejecuci√≥n a trav√©s de la concurrencia es muy sencillo.

  • Es compilado, lo que lo hace mucho m√°s eficiente.

  • Optimiza muy bien los recursos del hardware.

Por tal motivo, esta lectura est√° enfocada en mostrar el estado del arte actual de Go en Data Science.

Jupyter

jupyter_image

Jupyter es una de las principales herramientas que utilizamos los Data Scientists en el día a día ya que nos permite ejecutar código de manera fácil e iterativa pudiendo reciclar variabless en cualquier momento.

Al momento de instalarlo vía pip (manejador de paquetes para Python) viene instalado con el kernel de Python listo para ejecutar código Python.

A pesar, que Go es un lenguaje compilado, la comunidad ha creado un intérprete de Go llamado gomacro para ejecutar código sin compilar. Partiendo de ello, crearon también un kernel de Go para usarlo en Jupyter Notebook llamado gophernotes

GopherNotes Jupyter

De los métodos de instalación, mi sugerencia es que utilices la vía de Docker.

Manejo de DataFrames

En este punto los m√°s populares son: qframe, gota y dataframe-go.

Hasta la fecha, ninguno está en su versión estable, pero todos están haciendo un gran trabajo porque como lo notaste en el curso, en Go las variables vacías no son nulas sino que tienen un valor por defecto. Y esto en el mundo de los datos es todo un reto ya que tener datos nulos es el pan de cada día.

Visualizaciones

En este apartado destacan dos:

  • gonum/plot: Gonum no solo es el Numpy en Go sino que adem√°s tiene su propio c√≥digo de visualizaci√≥n. En este caso gonum/plot te permite hacer visualizaciones est√°ticas. Te comparto algunos ejemplos:
line_gonum
bar_charts
box_plot
  • go-echarts: Para el caso de gr√°ficos interactivos esta es una de las mejores opciones ya que adem√°s de los gr√°ficos puedes crear tu propio dashboard con la misma librer√≠a.
echar_1
echar_2
echar_3

Machine Learning

Hay muchas librerías este ámbito, sin embargo, destacaré solo dos:

  • GoLearn: Tiene diferentes modelos, entre ellos lineales, regresiones y clasificaci√≥n.

  • Gorgonia: Es el m√°s popular cuando requerimos implementar Deep Learning sino que adem√°s tiene la opci√≥n de implementar CUDA (hacer modelos de Deep Learning usando la tarjeta gr√°fica Nvidia)


La gran mayoría de estas librerías apenas están en sus inicios, pero tienen lo mínimo para iniciar en Data Science aplicando Go. Mi manera de apoyar a la comunidad es creando una librería para manejo de dataframes con Go llamada Higor usando mi experiencia como Data Engineer y haciendo que su implementación sea lo más amigable posible.

Aportes 7

Preguntas 0

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi√≥n.

Nunca me imaginé poder ejecutar Go en Jupyter Notebook. Es como si fuera un Go interpretado. Eso si está loco.

Que buena clase, Debería de existir un curso de Data Science y una ML con GO.

Como instalo GO en jupyter en windows?

Muchas gracias por el curso

Este material es oro puro, muchas gracias.

Guay

Me gustó el curso, como ya vengo de React y Node, me pareció digamos fácil, debido a que entiendo conceptos creo que hace falta practicar para poderlos tener marcados sólidamente, porque si bien entendí y avancé, no creo que haya memorizado al 100%