Algunos de los mejores recursos para dominar Golang

En este artículo, enumeraré algunos de los mejores recursos disponibles en Internet para aprender y dominar Golang.

Dado que cada usuario tiene una preferencia por diferentes modos de aprendizaje, cubriré artículos basados ​​en texto, tutoriales, videos y cursos populares sobre Golang.

Golang está creciendo bastante rápido en términos de popularidad, y te enamorarás de Go una vez que empieces a explorarlo.

Guía del desarrollador

Con alrededor de 50 mil estudiantes, este es uno de los mejores paquetes completos para aprender Go desde lo básico. Este curso está altamente probado y funciona bien para la mayoría de los estudiantes; una vez que compra, tiene acceso de por vida para esto. En caso de que te guste aprender de cursos completos en video, ¡esto es exactamente lo que necesitas!

Este curso es ideal para principiantes y para personas que quieren repasar los conceptos introductorios. El curso tiene 9 horas de video a pedido con tareas y recursos de código adicionales.

Algunos de los temas tratados en este curso son:

  • Configuración, instalación y conceptos básicos del idioma.
  • Paquetes y estructuras de archivos
  • Variables, funciones, matrices y sectores
  • Cobertura detallada de mapas, estructuras e interfaces
  • Rutinas de canal y go (programación concurrente)

Campo de entrenamiento

Con más de 300 conferencias, el curso completo de bootcamp en Udemy es definitivamente una buena compra y el lugar adecuado para aprender Golang. Aprendes creando aplicaciones como:

  • Analizador de registro
  • escáner de archivos
  • enmascarador de spam

Junto con esto, el curso ofrece más de 1000 ejercicios prácticos.

Además de cubrir los conceptos básicos de Go como estructuras, interfaces y canales, este curso tiene un proyecto interesante en el que aprendes a animar una pelota que rebota.

También recibirá un certificado de finalización al final del curso.

Tour de ir

Bueno, soy un gran admirador de la documentación, los blogs y los tutoriales oficiales de Golang. Este curso interactivo es gratis y no requiere ninguna configuración local. Simplemente abra el sitio web y comience a aprender desde lo básico con código práctico para cada tema.

Este es un curso con el que debe comenzar si solo está buscando explorar y quiere aprender los conceptos básicos sin ninguna configuración.

ir por ejemplo

Este no es exactamente un curso completo, sino un lugar al que acudir cuando olvidas lo básico. El sitio cubre todos los conceptos con un texto introductorio y un ejemplo de funcionamiento completo. El sitio es tan simple como podría ser, por lo que se centra en el aprendizaje. Algunas de las publicaciones de introducción básicas son sobre:

  • Variables y constantes
  • Para
  • Si/Si no y Cambiar
  • Matrices y rebanadas
  • mapas
  • Rango
  • Funciones

y casi todos los temas que necesitas! Hacer Échale un vistazo y márquelo como referencia.

Aprende X en Y minutos

Bueno, si quieres un recorrido rápido por lo básico, aprender X en Y minutos es un recurso increíble no solo para Go sino para casi todos los lenguajes de programación. Está impulsado por la comunidad y cubre muchos temas en una sola página. Contribuya una vez que sea bueno en Go.

Aquí hay un fragmento de código del tutorial, que explica la programación concurrente en una función.

// We'll use inc to increment some numbers concurrently.
func learnConcurrency() {
    // Same make function used earlier to make a slice. Make allocates and
    // initializes slices, maps, and channels.
    c := make(chan int)
    // Start three concurrent goroutines. Numbers will be incremented
    // concurrently, perhaps in parallel if the machine is capable and
    // properly configured. All three send to the same channel.
    go inc(0, c) // go is a statement that starts a new goroutine.
    go inc(10, c)
    go inc(-805, c)
    // Read three results from the channel and print them out.
    // There is no telling in what order the results will arrive!
    fmt.Println(<-c, <-c, <-c) // channel on right, <- is "receive" operator.

    cs := make(chan string)       // Another channel, this one handles strings.
    ccs := make(chan chan string) // A channel of string channels.
    go func() { c <- 84 }()       // Start a new goroutine just to send a value.
    go func() { cs <- "wordy" }() // Again, for cs this time.
    // Select has syntax like a switch statement but each case involves
    // a channel operation. It selects a case at random out of the cases
    // that are ready to communicate.
    select {
    case i := <-c: // The value received can be assigned to a variable,
        fmt.Printf("it's a %T", i)
    case <-cs: // or the value received can be discarded.
        fmt.Println("it's a string")
    case <-ccs: // Empty channel, not ready for communication.
        fmt.Println("didn't happen.")
    }
    // At this point a value was taken from either c or cs. One of the two
    // goroutines started above has completed, the other will remain blocked.

    learnWebProgramming() // Go does it. You want to do it too.
}

Tan conciso y directo, intente esto si desea una descripción general rápida de cualquier tema específico para Golang.

Ir a tiempo

Si eres fanático del aprendizaje de audio, Ir a tiempo es un buen podcast. Muchos desarrolladores increíbles vienen y comparten su conocimiento del mundo real y cómo usan Go en sus empresas. También debe consultar GopherCon (conferencia de golang) en la que personas destacadas comparten sus aprendizajes con la comunidad.

Estas comunidades discuten las últimas tendencias y mejoras en torno a Go.

Agregaré algunos de los podcasts populares aquí:

Libros

Hay muchos libros muy buenos. Agregaré algunos de los favoritos aquí:

blogs

Hay algunos blogs bastante buenos sobre Golang. También hay muchos artículos sobre medium que puedes explorar. Compartiré algunos aquí que encontrará útiles:

Youtube

¿Te apetece un aprendizaje basado en videos?

Claro, consulte este tutorial de Golang para principiantes de freeCodeCamp.

Conclusión

Recomendaría completar uno de los cursos anteriores si es un principiante y se une a la comunidad de Golang. Además, comparta sus aprendizajes con el mundo y contribuya a hacer que Go sea aún mejor. Espero que hayas aprendido algo útil y todo lo mejor para tu viaje con Go.