
Cours de langage Go
Maîtrisez Go depuis les bases et construisez des services de qualité production utilisés par des équipes d'ingénierie dans le monde entier. Ce cours couvre tout, de la syntaxe et de la concurrence aux API REST, à la conteneurisation et à l'observabilité. Vous écrirez du vrai code, résoudrez des problèmes concrets 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 avec les fonctions, les interfaces et les structures de données composites. Vous apprendrez à écrire des programmes concurrents à l'aide de goroutines et de canaux sans introduire de problèmes d'accès concurrent aux données. Ensuite, vous construirez des API REST, traiterez du JSON, gérerez des bases de données et mettrez en œuvre des modèles d'arrêt élégant. Le cours couvre également le profilage de rendement, les génériques, le développement d'outils CLI et le traçage distribué avec OpenTelemetry. À la fin, vous aurez les compétences pratiques pour concevoir, tester et déployer des services complets Go 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 entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondements du langage Go
Fondements du langage Go
Leçon 1 • Notions essentielles du flux de contrôle
Couvre les instructions if/else, les boucles for et les instructions switch en tant que boîte à outils complète du flux de contrôle de Go. Met en lumière l'omission délibérée par Go des boucles while et do-while.
Leçon 2 • Historique de Go et philosophie de conception
Couvre les origines de Go chez Google, ses objectifs de simplicité et de rendement, et comment ces objectifs façonnent chaque décision du langage. Établit le contexte pour tous les choix syntaxiques subséquents.
Leçon 3 • Structure du programme et points d'entrée
Explique les déclarations de paquetage, 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
Guide pour télécharger Go, configurer GOPATH et GOROOT, et vérifier l'installation. Établit l'environnement de travail nécessaire pour chaque exercice ultérieur.
Leçon 5 • Variables, constantes et types de base
Présente les déclarations de variables typées et inférées, les constantes et les types primitifs de Go. Ancre les étudiants dans la sécurité des types 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 : les assigner, les passer et les retourner. Prépare les étudiants aux fermetures et aux modèles fonctionnels utilisés dans les chapitres ultérieurs.
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 retournent plusieurs valeurs et pourquoi ce modèle remplace les exceptions. Permet directement la gestion idiomatique des erreurs abordée ensuite.
Leçon 4 • Gestion idiomatique des erreurs
Couvre l'interface error, les erreurs sentinelles et l'encapsulation avec fmt.Errorf. Établit la discipline de vérification explicite des erreurs au cœur du 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 abordé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 zéro. Les maps sont largement utilisées dans la configuration, la mise en cache et les modèles de recherche tout au long du cours.
Leçon 2 • Tableaux et tranches
Distingue les tableaux de taille fixe des tranches dynamiques et explique le modèle de tableau sous-jacent. La maîtrise des tranches 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 de récepteur et le passage efficace de données.
Leçon 5 • Travail avec les chaînes et les octets
Couvre l'immuabilité des chaînes, les tranches d'octets, l'itération de runes et le paquetage strings. La manipulation de chaînes est nécessaire pour les entrées/sorties de fichiers et le travail réseau dans les chapitres ultérieurs.
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
Présente 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 des assertions et des commutateurs. Ces techniques sont nécessaires pour travailler avec des valeurs d'interface retourné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 donne un aperçu des 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écepteur
Attache des fonctions à des 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 abordées ensuite.
Leçon 5 • Composition plutôt qu'héritage
Démontre l'intégration de structure et la composition d'interface 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étailsPaquetages, modules et gestion des dépendances
Paquetages, modules et gestion des dépendances
Leçon 1 • Principes d'organisation des paquetages
Couvre les conventions de nommage, les identificateurs exportés et non exportés, et la cohésion des paquetages. Une bonne conception de paquetage prévient les problèmes de couplage abordés dans les sujets d'architecture ultérieurs.
Leçon 2 • Système de compilation et commandes de la chaîne d'outils
Passe en revue go build, go install, go vet et go fmt comme pipeline de compilation de base. L'automatisation de ces commandes est fondamentale pour les pipelines CI/CD abordés plus tard.
Leçon 3 • Rédaction et exécution de tests
Présente le paquetage testing, les tests pilotés par des tableaux et les indicateurs de 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
Guide pour ajouter, mettre à niveau et supprimer des paquetages tiers. Couvre les commandes go get et go mod tidy utilisées dans les flux de travail de développement quotidiens.
Leçon 5 • Modules Go et go.mod
Explique l'initialisation de 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 situations de compétition sur les données
Utilise le détecteur de situations de compétition et explique le modèle mémoire de Go pour identifier et corriger les situations de compétition sur les données. Un code sans situation de compétition est un prérequis pour les modèles 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 les goroutines.
Leçon 4 • Instruction Select et multiplexage
Enseigne l'instruction select pour attendre plusieurs opérations de canal simultanément. Permet les modèles de délai d'attente 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. Comprendre l'ordonnanceur prévient les erreurs courantes comme la sortie prématurée du programme.
Chapitre 7MasquerCacher les détailsVoir les détailsBibliothèque standard et modèles d'entrée/sortie
Bibliothèque standard et modèles d'entrée/sortie
Leçon 1 • JSON et encodage de données
Enseigne encoding/json pour le marshaling et l'unmarshaling de structures. La gestion du JSON est requise pour chaque API REST et système de configuration construit dans les chapitres ultérieurs.
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 de l'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 paquetage log, la journalisation structurée avec log/slog et la lecture des variables d'environnement. Une observabilité et une configuration adéquates sont essentielles pour les services déployables.
Leçon 4 • Notions de base du client et du serveur HTTP
Présente net/http pour effectuer des requêtes et servir des réponses. Fournit la base pour le développement complet d'API REST abordé dans le chapitre appliqué.
Leçon 5 • Entrée/sortie de fichiers et de flux
Couvre os.Open, os.Create, les lecteurs bufio et io.Copy pour les opérations sur les fichiers. Ces primitives sous-tendent le traitement des journaux, le chargement de la 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 constructions en plusieurs étapes et discute des cibles de déploiement. Complète le chemin du code source à un service de production en cours d'exécution et observable.
Leçon 2 • Accès à la base 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 modèles d'intergiciel et de gestionnaire. Consolide les compétences 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 du système d'exploitation et l'arrêt du serveur avec des é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 • Modèles d'architecture d'application
Présente l'architecture en couches, l'injection de dépendances et le modèle 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 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#.
Praticienne ou praticien DevOps : doit lire, modifier et écrire des outils Go en toute confiance.
Étudiant en informatique : à la recherche de compétences pratiques en développement back-end au-delà des cours académiques.
Personne en réorientation de carrière provenant de rôles en AQ ou en données : transition vers l'ingénierie logicielle à temps plein.
Développeur·euse pigiste : élargir l’offre de services pour inclure des backends Go à haut rendement.
Ce que nos apprenants disent
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 à 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 il est présenté ainsi que la transcription des vidéos, 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 au Canada ?
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 fonctionne?
Cours PDF




















