
Cours de langage Go
Maîtrisez Go des bases jusqu'à la conception de services de qualité professionnelle utilisés par les équipes d'ingénierie du monde entier. Ce cours couvre tout, de la syntaxe de base et de la concurrence aux API REST, à la conteneurisation et à l'observabilité. Vous écrirez du vrai code, résoudrez de vrais problèmes et terminerez avec des compétences que les employeurs recherchent activement.
Ce que vous allez apprendre:
Vous commencerez par la syntaxe de Go, sa chaîne d'outils et son système de types, puis vous progresserez à travers les fonctions, les interfaces et les structures de données composites. Vous apprendrez à écrire des programmes concurrents en utilisant les goroutines et les canaux sans introduire de courses de données. À partir de là, vous construirez des API REST, gérerez le JSON, administrerez des bases de données et implémenterez des motifs d'arrêt élégants. Le cours couvre également le profilage des performances, les generics, le développement d'outils en CLI et le tracing distribué avec OpenTelemetry. À la fin, vous posséderez les compétences pratiques nécessaires pour concevoir, tester et déployer des services Go complets dans un environnement professionnel.
Comment vous étudiez de façon pratique Cours de langage Go
Comment vous pratiquez Cours de langage Go
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondamentaux du langage Go
Fondamentaux du langage Go
Leçon 1 • Fondamentaux du contrôle de flux
Couvre les instructions if/else, les boucles for et les instructions switch comme boîte à outils complète de contrôle de flux de Go. Met en lumière l'omission délibérée par Go des boucles while et do-while.
Leçon 2 • Historique et philosophie de conception de Go
Couvre les origines de Go chez Google, ses objectifs de simplicité et de performance, et comment ces objectifs façonnent chaque décision du langage. Établit le contexte pour tous les choix syntaxiques ultérieurs.
Leçon 3 • Structure du programme et points d'entrée
Explique les déclarations de paquets, la fonction main et les instructions d'importation. Fournit le squelette structurel que tout programme Go doit suivre.
Leçon 4 • Installation et configuration de la chaîne d'outils
Décrit le téléchargement de Go, la configuration de GOPATH et GOROOT, et la vérification de l'installation. Établit l'environnement de travail nécessaire pour chaque exercice ultérieur.
Leçon 5 • Variables, constantes et types de base
Introduit les déclarations de variables typées et inférées, les constantes et les types primitifs de Go. Prépare les étudiants à la sécurité de typage avant de passer aux structures de données complexes.
Chapitre 2MasquerCacher les détailsVoir les détailsFonctions et gestion des erreurs
Fonctions et gestion des erreurs
Leçon 1 • Fonctions de première classe et d'ordre supérieur
Traite les fonctions comme des valeurs : affectation, passage et retour. Prépare les étudiants aux fermetures et aux schémas fonctionnels utilisés dans les chapitres suivants.
Leçon 2 • Définition et appel de fonctions
Couvre les signatures de fonctions, le passage de paramètres et les valeurs de retour. Établit les conventions d'appel qui sous-tendent toute l'organisation du code Go.
Leçon 3 • Valeurs de retour multiples
Explique comment les fonctions Go renvoient plusieurs valeurs et pourquoi ce schéma remplace les exceptions. Permet directement la gestion d'erreurs idiomatique présentée ensuite.
Leçon 4 • Gestion d'erreurs idiomatique
Couvre l'interface error, les erreurs sentinelles et l'encapsulation avec fmt.Errorf. Établit la discipline de vérification explicite des erreurs, centrale dans le code Go de production.
Leçon 5 • Fermetures et portée
Explique la portée lexicale et comment les fermetures capturent les variables des portées englobantes. Développe l'intuition nécessaire pour les fermetures de goroutines présentées dans le chapitre sur la concurrence.
Chapitre 3MasquerCacher les détailsVoir les détailsTypes composites et structures de données
Types composites et structures de données
Leçon 1 • Cartes
Couvre la création de maps, les opérations CRUD et le comportement de valeur nulle. Les maps sont largement utilisées dans la configuration, la mise en cache et les schémas de recherche tout au long du cours.
Leçon 2 • Tableaux et Slices
Distingue les tableaux de taille fixe des slices dynamiques et explique le modèle de tableau sous-jacent. La maîtrise des slices est un prérequis pour la manipulation idiomatique des données en Go.
Leçon 3 • Structures et étiquettes de structure
Définit les structures comme le type d'enregistrement principal de Go et introduit les étiquettes de champ pour la sérialisation. Les structures sont la base des méthodes et des interfaces dans le chapitre suivant.
Leçon 4 • Pointeurs et adressage mémoire
Explique la syntaxe des pointeurs, le déréférencement et quand utiliser les pointeurs plutôt que les valeurs. L'utilisation correcte des pointeurs est essentielle pour les méthodes avec types récepteurs et le passage efficace de données.
Leçon 5 • Travailler avec les chaînes et les octets
Couvre l'immuabilité des chaînes, les slices d'octets, l'itération de runes et le paquet strings. La manipulation de chaînes est nécessaire pour les opérations d'E/S sur fichiers et le travail réseau dans les chapitres suivants.
Chapitre 4MasquerCacher les détailsVoir les détailsMéthodes, interfaces et polymorphisme
Méthodes, interfaces et polymorphisme
Leçon 1 • Définition et implémentation d'interfaces
Introduit la satisfaction implicite d'interface et la puissance des petites interfaces. Les étudiants implémentent des interfaces standard comme io.Reader et fmt.Stringer.
Leçon 2 • Assertions de type et commutateurs de type
Couvre l'inspection de type à l'exécution via les assertions et les commutateurs. Ces techniques sont nécessaires pour travailler avec les valeurs d'interface renvoyées par les fonctions de la bibliothèque standard.
Leçon 3 • L'interface vide et un aperçu des génériques
Explique interface{} et any comme types universels, puis présente les paramètres de type. Fait le pont entre le polymorphisme classique de Go et le système de génériques introduit dans Go 1.18.
Leçon 4 • Méthodes et types de récepteurs
Attache des fonctions aux types en utilisant des récepteurs de valeur et de pointeur. Le choix du récepteur affecte directement la sémantique de mutation et la satisfaction d'interface présentée ensuite.
Leçon 5 • Composition sur héritage
Démontre l'imbrication de structures et la composition d'interfaces comme alternative de Go aux hiérarchies de classes. Développe l'intuition de conception nécessaire pour l'architecture Go à grande échelle.
Chapitre 5MasquerCacher les détailsVoir les détailsPaquets, modules et gestion des dépendances
Paquets, modules et gestion des dépendances
Leçon 1 • Principes d'organisation des paquets
Couvre les conventions de nommage, les identifiants exportés versus non exportés et la cohésion des paquets. Une bonne conception de paquets prévient les problèmes de couplage abordés dans les sujets d'architecture ultérieurs.
Leçon 2 • Commandes du système de construction et de la chaîne d'outils
Passe en revue go build, go install, go vet et go fmt comme pipeline de construction principal. L'automatisation de ces commandes est fondamentale pour les pipelines CI/CD présentés plus tard.
Leçon 3 • Écriture et exécution de tests
Introduit le paquet testing, les tests pilotés par tableaux et les indicateurs go test. La discipline de test établie ici est étendue dans le chapitre supplémentaire sur les tests avancés.
Leçon 4 • Ajout et gestion des dépendances
Décrit l'ajout, la mise à niveau et la suppression de paquets tiers. Couvre les commandes go get et go mod tidy utilisées dans les workflows de développement quotidiens.
Leçon 5 • Modules Go et go.mod
Explique l'initialisation du module, le fichier go.mod et le versionnement sémantique. Les modules sont le système de dépendances obligatoire pour tous les projets Go modernes.
Chapitre 6MasquerCacher les détailsVoir les détailsConcurrence avec les goroutines et les canaux
Concurrence avec les goroutines et les canaux
Leçon 1 • Détection et prévention des conditions de course
Utilise le détecteur de course et explique le modèle mémoire de Go pour identifier et corriger les conditions de course. Un code sans condition de course est un prérequis pour les schémas concurrents du chapitre suivant.
Leçon 2 • Primitives de synchronisation
Introduit sync.Mutex, sync.RWMutex, sync.WaitGroup et sync.Once. Ces primitives gèrent les scénarios d'état partagé où les canaux ne sont pas la solution appropriée.
Leçon 3 • Canaux pour la communication
Couvre les canaux non tamponnés et tamponnés, la sémantique d'envoi/réception et la direction des canaux. Les canaux sont le mécanisme principal de Go pour le partage sécurisé de données entre goroutines.
Leçon 4 • Instruction Select et multiplexage
Enseigne l'instruction select pour attendre simultanément plusieurs opérations sur des canaux. Permet les schémas de temporisation et les conceptions fan-in utilisés dans les services réels.
Leçon 5 • Goroutines et l'ordonnanceur Go
Explique la création de goroutines, l'ordonnanceur M:N et le cycle de vie des goroutines. La compréhension de l'ordonnanceur évite les erreurs courantes comme la sortie prématurée du programme.
Chapitre 7MasquerCacher les détailsVoir les détailsBibliothèque standard et schémas d'E/S
Bibliothèque standard et schémas d'E/S
Leçon 1 • JSON et encodage des données
Enseigne encoding/json pour le marshaling et l'unmarshaling de structures. La gestion de JSON est requise pour toutes les API REST et les systèmes de configuration construits dans les chapitres suivants.
Leçon 2 • Contexte pour l'annulation et les échéances
Explique context.Context, l'annulation et la propagation des échéances à travers les limites des API. Le contexte est obligatoire pour les gestionnaires HTTP de production et les appels de base de données.
Leçon 3 • Journalisation et configuration de l'environnement
Couvre le paquet log, la journalisation structurée avec log/slog et la lecture des variables d'environnement. Une observabilité et une configuration appropriées sont essentielles pour les services déployables.
Leçon 4 • Notions de base du client et du serveur HTTP
Introduit net/http pour effectuer des requêtes et servir des réponses. Fournit la base pour le développement complet d'API REST présenté dans le chapitre appliqué.
Leçon 5 • E/S sur fichiers et flux
Couvre os.Open, os.Create, les lecteurs bufio et io.Copy pour les opérations sur fichiers. Ces primitives sous-tendent le traitement des journaux, le chargement de configuration et les pipelines de données.
Chapitre 8MasquerCacher les détailsVoir les détailsConstruction d'applications Go prêtes pour la production
Construction d'applications Go prêtes pour la production
Leçon 1 • Conteneurisation et déploiement de services Go
Construit des images Docker minimales en utilisant des builds multi-étapes et discute des cibles de déploiement. Achève le chemin du code source à un service de production opérationnel et observable.
Leçon 2 • Accès aux bases de données avec database/sql
Couvre le regroupement de connexions, les instructions préparées et la gestion des transactions en utilisant database/sql. Fournit la couche de persistance des données requise par la plupart des services de production.
Leçon 3 • Conception et implémentation d'API REST
Construit une API REST complète en utilisant net/http et un routeur, en appliquant des schémas d'intergiciel et de gestionnaire. Consolide les compétences en HTTP, JSON et contexte des chapitres précédents.
Leçon 4 • Arrêt gracieux et gestion des signaux
Implémente la gestion des signaux OS et l'arrêt du serveur avec les échéances de contexte. Empêche la perte de données et les erreurs de connexion lorsque les conteneurs ou les processus sont redémarrés.
Leçon 5 • Schémas d'architecture d'application
Introduit l'architecture en couches, l'injection de dépendances et le schéma de dépôt en Go. Une séparation claire des préoccupations rend les services testables et maintenables à grande échelle.
Votre certificat valide de réussite
Ce cours est fait pour vous :
Développeur Python ou JavaScript : prêt à adopter un langage compilé et typé statiquement.
Ingénieur backend : souhaite ajouter Go à un CV rempli de Java ou C#.
un praticien DevOps : doit être capable de lire, modifier et écrire des outils Go en toute confiance.
Étudiant en informatique : cherchant à acquérir des compétences pratiques en backend au-delà des cours académiques.
Personne en reconversion professionnelle issue des métiers de l'assurance qualité ou de la donnée, s'orientant à plein temps vers le génie logiciel.
Développeur freelance : élargir les offres de services pour inclure des backends Go haute performance.
Ce que disent nos apprenants
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable en France ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail des cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















