Certaines des meilleures ressources pour maîtriser Golang



Dans cet article, je vais explorer différentes plateformes pour ceux qui souhaitent apprendre et maîtriser le langage de programmation Golang.

Puisque chacun a sa méthode d’apprentissage préférée, je vais examiner des ressources variées : articles, tutoriels, vidéos et formations en ligne populaires sur Golang.

La popularité de Golang augmente rapidement et vous serez certainement séduit par Go une fois que vous commencerez à l’explorer.

Formation pour développeurs

Avec environ 50 000 participants, ce programme est l’une des meilleures ressources pour apprendre Go depuis les bases. Ce cours a fait ses preuves et convient à la plupart des étudiants; après l’achat, l’accès est illimité. Si vous préférez apprendre à l’aide de formations vidéo complètes, ceci est parfait pour vous !

Cette formation est idéale pour les débutants et ceux qui souhaitent revoir les notions de base. Le cours comprend 9 heures de contenu vidéo à la demande, des ressources de code et des exercices supplémentaires.

Voici quelques thèmes abordés dans cette formation :

  • Configuration, installation et principes fondamentaux du langage.
  • Packages et organisation des fichiers
  • Variables, fonctions, tableaux et slices
  • Étude approfondie des maps, des structures et des interfaces
  • Channels et go-routines (programmation concurrente)

Camp d’entraînement intensif

Avec plus de 300 leçons, le cours Bootcamp complet sur Udemy est un excellent investissement pour apprendre Golang. Vous apprendrez en créant des applications telles que :

  • Un analyseur de logs
  • Un parseur de fichiers
  • Un filtre anti-spam

De plus, le cours propose plus de 1000 exercices pratiques.

Outre la couverture des concepts de base de Go comme les structures, les interfaces et les channels, ce cours propose un projet intéressant où vous apprendrez à animer une balle rebondissante.

Un certificat de réussite vous sera délivré à la fin de la formation.

La visite de Go

Je suis un grand admirateur de la documentation, des blogs et des tutoriels officiels de Golang. Ce cours interactif est gratuit et ne nécessite aucune installation locale. Il suffit d’ouvrir le site web et de commencer à apprendre les bases grâce à du code pratique pour chaque sujet.

C’est un excellent point de départ si vous souhaitez simplement explorer et apprendre les bases sans aucune configuration complexe.

Go par l’exemple

Ce n’est pas vraiment un cours complet, mais plutôt une ressource indispensable lorsque vous avez un doute sur les fondamentaux. Ce site couvre tous les concepts avec un texte d’introduction et un exemple d’exécution. La conception du site est très épurée pour favoriser l’apprentissage. Voici quelques-uns des sujets de base abordés :

  • Variables et constantes
  • Boucle for
  • Instructions if/else et switch
  • Tableaux et slices
  • Maps
  • Itération sur les collections
  • Fonctions

…et presque tous les sujets essentiels ! Consultez ce site et ajoutez-le à vos favoris pour référence future.

Apprendre X en Y minutes

Si vous souhaitez un aperçu rapide des bases, Apprendre X en Y minutes est une ressource précieuse non seulement pour Go, mais pour presque tous les langages de programmation. Cette initiative communautaire couvre une multitude de sujets sur une seule page. N’hésitez pas à contribuer une fois que vous serez à l’aise avec Go.

Voici un extrait de code tiré du tutoriel, qui explique la programmation concurrente dans une fonction.

// Nous utiliserons inc pour incrémenter des nombres de manière concurrente.
func learnConcurrency() {
    // La même fonction make que précédemment pour créer un slice. Make alloue et
    // initialise les slices, les maps et les channels.
    c := make(chan int)
    // Démarre trois goroutines concurrentes. Les nombres seront incrémentés
    // en concurrence, potentiellement en parallèle si la machine est capable et
    // correctement configurée. Les trois envoient sur le même channel.
    go inc(0, c) // go est une instruction qui démarre une nouvelle goroutine.
    go inc(10, c)
    go inc(-805, c)
    // Lit trois résultats depuis le channel et les affiche.
    // On ne sait pas dans quel ordre les résultats arriveront !
    fmt.Println(<-c, <-c, <-c) // Channel à droite, <- est l'opérateur "recevoir".

    cs := make(chan string)       // Un autre channel, celui-ci gère des chaînes de caractères.
    ccs := make(chan chan string) // Un channel de channels de chaînes de caractères.
    go func() { c <- 84 }()       // Démarre une nouvelle goroutine juste pour envoyer une valeur.
    go func() { cs <- "wordy" }() // Idem, pour cs cette fois-ci.
    // Select a une syntaxe similaire à l'instruction switch, mais chaque cas implique
    // une opération de channel. Il sélectionne un cas au hasard parmi ceux
    // qui sont prêts à communiquer.
    select {
    case i := <-c: // La valeur reçue peut être attribuée à une variable,
        fmt.Printf("c'est un %T", i)
    case <-cs: // ou la valeur reçue peut être ignorée.
        fmt.Println("c'est une chaîne")
    case <-ccs: // Channel vide, pas prêt pour la communication.
        fmt.Println("ne s'est pas produit.")
    }
    // À ce stade, une valeur a été prise soit de c soit de cs. L'une des deux
    // goroutines démarrées ci-dessus est terminée, l'autre restera bloquée.

    learnWebProgramming() // Go le fait. Vous devriez le faire aussi.
}

Clair et précis, essayez-le si vous avez besoin d’un aperçu rapide de sujets spécifiques en Golang.

Gotime

Si vous appréciez l’apprentissage audio, Gotime est un bon podcast. De nombreux développeurs talentueux partagent leur expérience du monde réel et leur utilisation de Go dans leurs entreprises. Vous devriez également jeter un œil à GopherCon (la conférence Golang), où des experts reconnus partagent leurs connaissances avec la communauté.

Ces communautés discutent des dernières tendances et des améliorations apportées à Go.

Voici quelques podcasts populaires :

Livres

Il existe de nombreux ouvrages de qualité. Voici quelques-uns de mes favoris :

Blogs

Il existe d’excellents blogs dédiés à Golang. De nombreux articles d’aide sont également disponibles pour exploration. En voici quelques-uns qui pourraient vous être utiles :

YouTube

Vous préférez un apprentissage basé sur la vidéo ?

Dans ce cas, consultez ce tutoriel Golang pour débutants de freeCodeCamp.

Conclusion

Je vous recommande de suivre l’une des formations mentionnées si vous êtes débutant et de rejoindre la communauté Golang. Partagez votre apprentissage avec le monde et contribuez à faire de Go un langage encore meilleur. J’espère que cet article vous a été utile et je vous souhaite bonne chance dans votre parcours avec Go.