Choisissez votre langue
Cours de langage Go
Plus de 2 millions d'étudiants dans le monde

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.

Dedika pour les entreprises

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.

Cliquez ici

Contenu du cours

8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

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 2Voir les détails

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 3Voir les détails

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 4Voir les détails

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 5Voir les détails

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 6Voir les détails

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 7Voir les détails

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 8Voir les détails

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.

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
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.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
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 !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

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