Dans cet article, je vais énumérer quelques-unes des meilleures ressources disponibles sur Internet pour apprendre et maîtriser Golang
Comme chaque utilisateur a une préférence pour différents modes d’apprentissage, je vais couvrir les articles textuels, les tutoriels, les vidéos et les cours populaires autour de Golang
Golang connaît une croissance rapide en termes de popularité, et vous tomberez amoureux de Go une fois que vous aurez commencé à l’explorer
Guide du développeur
Avec environ 50K étudiants, c’est l’un des meilleurs packs complets pour apprendre Go à partir des bases. Ce cours a été testé et fonctionne bien pour la plupart des étudiants ; une fois que vous l’avez acheté, vous y avez accès à vie. Si vous aimez apprendre à partir de cours vidéo complets, c’est exactement ce qu’il vous faut !
Ce cours est idéal pour les débutants et pour les personnes qui veulent revoir les concepts d’introduction. Le cours comprend 9 heures de vidéo à la demande avec des ressources de code et des devoirs supplémentaires
Voici quelques-uns des sujets abordés dans ce cours –
- Configuration, installation et bases du langage.
- Packages et structures de fichiers
- Variables, fonctions, tableaux et tranches
- Couverture approfondie des cartes, des structures et des interfaces
- Canal et go-routines (programmation simultanée)
Atelier d’initiation
Avec 300 cours, le cours complet Bootcamp sur Udemy est sans aucun doute un bon achat et un bon endroit pour apprendre Golang. Vous apprenez en construisant des applications comme –
- L’analyseur de logs
- Scanner de fichiers
- Masqueur de spam
En outre, le cours propose plus de 1000 exercices pratiques
En plus de couvrir les concepts de base de Go tels que les structures, les interfaces et les canaux, ce cours comporte un projet intéressant dans lequel vous apprendrez à animer une balle qui rebondit
Vous recevrez également un certificat d’achèvement à la fin du cours
Visite de Go
Je suis un grand fan de la documentation officielle de Golang, des blogs et des tutoriels. 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 avec du code pratique pour chaque sujet
C’est un cours que vous devriez commencer si vous cherchez juste à explorer et que vous voulez apprendre les bases sans aucune installation
Allez-y par l’exemple
Il ne s’agit pas exactement d’un cours complet, mais plutôt d’un endroit où aller lorsque vous oubliez les bases. Le site couvre tous les concepts avec un texte d’introduction et un exemple complet. Le site est aussi simple que possible, ce qui permet de se concentrer sur l’apprentissage. Certains des articles d’introduction de base portent sur –
- Variables et constantes
- Pour
- If/Else et Switch
- Tableaux et tranches
- Les cartes
- Plage
- Fonctions
et presque tous les sujets dont vous avez besoin ! Jetez-y un coup d ‘œil et mettez-le dans vos favoris pour vous y référer
Apprenez X en Y minutes
Si vous voulez un tour rapide des bases, learn X in Y minutes est une ressource géniale non seulement pour Go mais aussi pour presque tous les langages de programmation. Elle est alimentée par la communauté et couvre de nombreux sujets sur une seule page. Apportez votre contribution une fois que vous maîtriserez Go
Voici un extrait de code du tutoriel, qui explique la programmation concurrente en une seule fonction
// Nous allons utiliser inc pour incrémenter des nombres de manière concurrente.
func learnConcurrency() {
// La même fonction make que celle utilisée précédemment pour créer une tranche. Make alloue et
// initialise les tranches, les cartes et les canaux.
c := make(chan int)
// Lancez trois goroutines concurrentes. Les nombres seront incrémentés
// simultanément, peut-être en parallèle si la machine en est capable et
// correctement configurée. Les trois envoient au même canal.
go inc(0, c) // go est une instruction qui démarre une nouvelle goroutine.
go inc(10, c)
go inc(-805, c)
// Lisez trois résultats du canal et imprimez-les.
// Il est impossible de savoir dans quel ordre les résultats arriveront !
fmt.Println(<-c, <-c, <-c) // canal à droite, <- est l'opérateur de "réception".
cs := make(chan string) // Un autre canal, celui-ci gère les chaînes.
ccs := make(chan chan string) // Un canal de canaux de chaînes.
go func() { c <- 84 }() // Lancez une nouvelle goroutine juste pour envoyer une valeur.
go func() { cs <- "wordy" }() // Encore une fois, pour cs cette fois.
// Select a la syntaxe d'une instruction switch mais chaque cas implique
// une opération de canal. Il sélectionne un cas au hasard parmi les cas
// qui sont prêts à communiquer.
select {
case i := <-c : // La valeur reçue peut être affectée à une variable,
fmt.Printf("it's a %T", i)
case <-cs : // ou la valeur reçue peut être rejetée.
fmt.Println("it's a string")
case <-ccs : // Canal vide, pas prêt pour la communication.
fmt.Println("didn't happen.")
}
// À ce stade, une valeur a été prise dans c ou cs. L'une des deux
// goroutines lancées ci-dessus est terminée, l'autre reste bloquée.
learnWebProgramming() // Go le fait. Vous voulez le faire aussi.
}
Si concis et pertinent, donnez-lui un coup de pouce si vous voulez un aperçu rapide des sujets spécifiques à Golang
Gotime
Si vous êtes un fan de l’apprentissage audio, Gotime est un bon podcast. Un grand nombre de développeurs géniaux viennent partager leurs connaissances du monde réel et la façon dont ils utilisent Go dans leurs entreprises. Vous devriez également consulter la GopherCon (conférence golang) au cours de laquelle d’éminentes personnalités partagent leurs connaissances avec la communauté
Ces communautés discutent des dernières tendances et améliorations autour de Go
Je vais ajouter quelques podcasts populaires ici –
- Créer le langage de programmation Go
- Structurer vos applications Go
- Concurrence, parallélisme et conception asynchrone
Livres
Il existe un grand nombre de très bons livres. J’ajouterai ici quelques-uns de mes préférés
- Le langage de programmation Go (Alan A. A. Donovan et Brian W. Kernighan)
- Golang Bootcamp Book
- Go Web Programming – plus axé sur le développement web
- Awesome Go books – couvre une vaste liste de livres sur golang
Blogs
Il existe de très bons blogs sur Golang. Il y a aussi beaucoup d’articles sur medium, que vous pouvez explorer. Je vais en partager quelques-uns ici qui vous seront utiles –
YouTube
Vous avez envie d’apprendre par la vidéo ?
Bien sûr, regardez ce tutoriel Golang pour les débutants de freeCodeCamp

Conclusion
Je vous recommande de suivre l’un des cours ci-dessus si vous êtes débutant et de rejoindre la communauté Golang. De plus, partagez vos connaissances avec le monde entier et contribuez à rendre Go encore meilleur. J’espère que vous avez appris quelque chose d’utile et je vous souhaite le meilleur pour votre voyage avec Go.