À propos du cours
Go, ou Golang, est un langage de programmation rapide et efficace conçu pour le développement logiciel évolutif. Il est largement utilisé dans les infrastructures cloud natives, le développement web et les opérations. Avec son adoption croissante, apprendre Go vous permettra de créer des solutions fiables et performantes pour les applications modernes.
Qu’allez-vous apprendre ?
- Diffusez des pages Web avec net/http et acheminez les requêtes avec http.HandleFunc.
- Affichez du HTML en toute sécurité à l'aide de html/template, transmettez des structures aux modèles et générez des valeurs dynamiques.
- Collectez et validez les entrées du formulaire via r.FormValue(...).
- Créez une petite page interactive (éditeur de chapiteau) qui met à jour des attributs tels que scrollamount, scrolldelay, bgcolor, direction et loop.
- Utilisez strings.EqualFold et switch pour gérer les options insensibles à la casse (par exemple, les directions).
- Organisez un petit projet Web Go (modules, disposition des fichiers) et exécutez-le localement sur :8080.
- Ajoutez un style CSS léger et comprenez où les ressources statiques s'intègrent dans un projet Go.
Contenu du cours
Leçon 1
Dans cette première leçon du cours Golang, nous présentons le langage de programmation Go, également appelé Golang. Vous découvrirez les variables et leur utilisation pour stocker des informations en mémoire, ainsi que les types de données qui définissent les valeurs qu'elles peuvent contenir. Go offre un typage fort et prend en charge des types tels que les entiers, les nombres à virgule flottante, les chaînes, les booléens, etc. Nous aborderons la déclaration de variables avec le mot-clé var, les déclarations abrégées et explorerons le concept de valeurs nulles par défaut en Go. Vous découvrirez également la différence entre les constantes et les variables et comment Go applique la sécurité des types pour éviter les erreurs. À la fin de cette leçon, vous maîtriserez parfaitement la représentation des données en Go et leur gestion efficace, ce qui vous permettra de créer des applications concrètes avec ce langage de programmation moderne.
-
Introduction et types de données et variables
34:53 -
Quiz 1
Leçon 2
Dans cette leçon, nous approfondissons la manière dont Go organise et exécute le code. Nous commencerons par le concept de paquets. En Go, chaque programme appartient à un paquet, et le Le package est le point de départ de l'exécution. Vous découvrirez comment les packages contribuent à structurer le code, à favoriser la réutilisabilité et à organiser les projets. Nous explorerons ensuite les importations. Go vous permet d'importer des bibliothèques standard telles que pour l'impression, ou Pour travailler avec le système d'exploitation. Vous découvrirez également la différence entre l'importation d'une seule bibliothèque et l'importation de plusieurs bibliothèques avec parenthèses. Enfin, nous nous exercerons aux opérations de base en Go, notamment les opérations mathématiques, la gestion des chaînes et la logique booléenne. Vous découvrirez comment Go assure la sécurité des types et comment se comportent les opérateurs tels que +, -, *, / et %. À la fin de cette leçon, vous comprendrez la structure des projets Go, comment importer et utiliser des bibliothèques, et comment effectuer les opérations courantes nécessaires à tout programme Go.
-
Emballage, importation et exploitation
25:51 -
Quiz 2
Leçon 3
Dans cette leçon, nous nous penchons sur les instructions de contrôle de flux en Go. Ce type d'instruction permet de prendre des décisions, d'exécuter des branches et de parcourir du code. Contrairement à d'autres langages, Go utilise des structures de contrôle simples et claires : sans parenthèses autour des conditions et toujours avec des accolades.
-
Contrôles dans Go
44:57 -
Quiz 3
Leçon 4
Dans cette leçon, nous explorons les fonctions, l'un des éléments fondamentaux des programmes Go. Les fonctions permettent de regrouper des blocs de code réutilisables, rendant ainsi vos applications plus modulaires, maintenables et plus faciles à comprendre. Vous apprendrez à : définir et appeler des fonctions à l'aide du mot-clé func ; utiliser des paramètres et des valeurs de retour, y compris des valeurs de retour multiples ; comprendre la différence entre valeur et référence lors du passage d'arguments ; utiliser des valeurs de retour nommées pour un code plus clair ; écrire des fonctions variadiques acceptant un nombre variable d'arguments ; organiser le code en packages réutilisables en regroupant les fonctions associées. En maîtrisant les fonctions, vous serez capable d'écrire des programmes Go à la fois efficaces et évolutifs, tout en évitant les répétitions de code. Cette leçon pose les bases de sujets Go plus avancés, tels que les méthodes, les interfaces et la concurrence.
-
Fonctions en Go
26:06 -
Quiz 4
Leçon 5
Créez une API REST prête pour la production en Go en utilisant GORM comme ORM et SQLite3 comme base de données intégrée. Vous créerez un projet propre, connecterez la base de données et modéliserez des entités réelles avec des balises de structure GORM pour les colonnes, les clés primaires, les horodatages et les relations. Une fois le routage et la gestion JSON en place, vous implémenterez des points de terminaison CRUD complets, renverrez des codes d'état HTTP corrects et ajouterez une gestion des erreurs élégante. Au-delà des bases, vous apprendrez des modèles d'API pratiques utilisés dans les microservices : configuration basée sur l'environnement, points de terminaison de santé et de disponibilité, routes versionnées, pagination et filtrage via les paramètres de requête, validation des entrées et timeouts contextuels. Côté données, vous aborderez les migrations automatiques, les transactions, la création de requêtes, le chargement rapide et l'ensemencement. Cette leçon aborde également CORS et les intergiciels de journalisation, le test des points de terminaison avec curl ou Postman, et l'organisation du code pour une meilleure maintenabilité. À la fin, vous disposerez d'un service Go petit mais complet qui conserve les données avec SQLite, expose les points de terminaison JSON et suit des pratiques de conception d'API solides, prêt à être étendu à un microservice plus grand ou déployé en tant que backend léger.
-
Réseaux et API, SQL
41:16 -
Quiz 5
Leçon 6
Découvrez les collections Go essentielles et la gestion de texte que vous utiliserez au quotidien. Cette session explique quand choisir des tableaux de taille fixe, comment travailler efficacement avec des chaînes (y compris Unicode) et comment modéliser des données clé-valeur avec des mappages. Ce que vous y apprendrez : Tableaux : définition d'un [N]T de longueur fixe, sémantique des valeurs (copies lors de l'affectation), valeurs nulles, littéraux, indexation, itération avec for/range, quand les tableaux sont appropriés et comment les tranches sont liées aux tableaux pour le dimensionnement dynamique. Chaînes : données UTF-8 immuables, pourquoi len compte les octets (et non les caractères), itération par octets vs runes, conversion entre chaîne, []octet et []rune, et les aides les plus utiles des packages chaînes et Unicode/utf8. Cartes : création avec make et les littéraux, comportement à valeur nulle (carte nil), insertions/lectures/suppressions, vérification d'existence « comma ok », avertissements concernant l'ordre d'itération, types de clés valides et comportement des cartes lorsqu'elles sont transmises à des fonctions. Pièges et bonnes pratiques : éviter les copies involontaires avec de grands tableaux, gérer en toute sécurité du texte non-ASCII, initialiser des structures de cartes/tranches imbriquées, protéger les cartes contre les accès concurrents et choisir entre cartes et tranches de structures pour les recherches et les analyses. À la fin de ce cours, vous maîtriserez le stockage, l'interrogation et la transformation de données avec les tableaux, les chaînes et les cartes de Go, et vous connaîtrez les pièges à éviter à mesure que vos programmes se développent.
-
Aller aux tableaux, aux chaînes et à la carte
46:47 -
Quiz 6
Leçon 7
La session d'aujourd'hui approfondit le système de types de Go et ses puissantes méthodes d'organisation et d'inspection des données. Nous aborderons les types définis par l'utilisateur avec struct, explorerons les structures intégrées pour la réutilisation et la composition de code, présenterons les interfaces comme moyen de définir le comportement, et enfin, nous nous pencherons sur la réflexion (package reflect) pour examiner les types et les valeurs à l'exécution. À la fin de cette leçon, vous saurez concevoir des programmes Go plus flexibles, réutilisables et introspectifs.
-
Structure et structure intégrée, interface et réflexion
34:40 -
Quiz 7
Leçon 8
Découvrez le modèle de gestion des erreurs de Go et les outils de contrôle de flux qui assurent la robustesse des programmes. Nous aborderons la création et le retour d'erreurs avec errors.New et fmt.Errorf, l'encapsulation et l'inspection des erreurs via errors.Is/errors.As, et la conception de types d'erreur personnalisés. Vous découvrirez les points forts de defer pour un nettoyage garanti (fichiers, verrous, transactions), comment les appels différés s'exécutent selon l'ordre LIFO et les pièges courants (variables de boucle capturées, utilisation de defer dans les chemins critiques). Nous clarifierons la distinction entre une panique (violation de programmeur réellement irrécupérable ou violation d'invariant) et le retour d'une erreur, et comment reprendre le contrôle en toute sécurité avec recover dans une fonction différée, sans l'utiliser abusivement pour un flux normal. À la fin, vous structurerez des fonctions qui rapportent un contexte riche, nettoient de manière fiable et échouent rapidement lorsqu'elles le doivent.
-
Erreurs Récupérer, Différer, Panique
18:11 -
Quiz 8
Leçon 9
Découvrez comment Go simplifie et sécurise les programmes concurrents. Vous démarrerez des tâches légères avec des goroutines, les connecterez via des canaux et coordonnerez votre travail sans avoir à recourir à des rappels complexes. Vous gérerez ainsi correctement les annulations, les dépassements de délai et le partage des données afin d'éviter les situations de concurrence et les fuites.
-
Concurrence en Go — Goroutines, canaux et coordination
26:49 -
Quiz 9
Leçon 10
Apprenez les E/S de fichiers pratiques et une pile HTTP minimale en Go. Créez, lisez, écrivez, ajoutez et supprimez des fichiers avec os, io et bufio ; gérez les permissions, les chemins et les répertoires ; et utilisez defer pour fermer les handles en toute sécurité. Diffusez des fichiers volumineux sans les charger entièrement en mémoire et sérialisez les données vers/depuis JSON ou CSV. Créez un petit serveur web avec net/http, enregistrez les gestionnaires et les routes, servez les ressources statiques avec http.FileServer et implémentez les téléchargements de fichiers via multipart/form-data. Ajoutez la journalisation des requêtes et un middleware de base, définissez des délais d'expiration raisonnables et arrêtez le processus en douceur avec le contexte. Terminez par des conseils de sécurité et de robustesse : nettoyez les chemins, limitez la taille des téléchargements, vérifiez les erreurs et protégez-vous contre la traversée de répertoires.
-
E/S de fichiers et serveur HTTP
14:36 -
Quiz 10
Leçon 11
Apprenez quand et comment utiliser les alias d'importation pour garder le code lisible et éviter les conflits de noms, puis appliquez-le en créant un petit jeu de devinettes de nombres en ligne de commande.
-
Alias et un jeu utilisant Go
20:54 -
Quiz 11
Leçon 12
Apprenez à créer des pages web avec Go en combinant net/http et html/template. Vous générerez des vues HTML dynamiques, transférerez des données dans des modèles et organiserez des mises en page/partiels réutilisables (base, en-tête, pied de page). Vous diffuserez des ressources statiques (CSS/JS/images), créerez des routes/gestionnaires simples et traiterez des formulaires HTML (GET/POST) en toute sécurité grâce à la validation. Nous aborderons les fonctions des modèles, l'échappement pour éviter les XSS et la structure épurée du projet (gestionnaires, modèles, ressources). À la fin de ce cours, vous disposerez d'une petite application web Go multipage qui génère des modèles, gère les entrées utilisateur et gère tout depuis un seul serveur Go.
-
Application Web HTML avec Go
33:35 -
Quiz 12
Notes et avis de l’apprenant
Encore aucun avis !