Go est le langage de choix pour les outils systeme, les services reseau et les architectures cloud-native grace a sa compilation rapide, sa gestion native de la concurrence et sa simplicite. Cette formation couvre les fondamentaux du langage (types, structures, interfaces) puis aborde la programmation multi-thread avec les goroutines et les channels. Vous apprendrez a ecrire du code Go idiomatique, performant et maintenable, directement applicable dans vos projets d’infrastructure ou de microservices.
Public visé
Tout développeur souhaitant apprendre la programmation avec le langage Go.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Reconnaître et utiliser les concepts de base du langage Go
- Ecrire des programmes simples en Go
- Mettre en oeuvre les mécanismes de programmation multi-thread
Programme
Présentation
- Historique de Go
- Objectifs des fondateurs
- Positionnement par rapport aux autres langages
- Particularités techniques
- Programmation multi-threading
- Simplicité
- Aspects compilation et gestion de la mémoire
- Documentation de référence pour les développeurs
Premiers pas avec Go
- Prérequis système
- Outils
- Installation de l’environnement de développement
- Création d’un programme simple en Go : “Hello World”
Fondamentaux
- Notions de packages et d’imports
- Variables
- Types de base
- Conversion de types
- Constantes
- Instructions de contrôle (boucles, tests…)
- for
- if
- else
- switch
- defer
Exemple de travaux pratiques
- Utilisation de boucles et fonctions
Autres types
- Pointeurs
- Structures
- Tableaux
- Notion de slices et de maps
Méthodes et interfaces
- Définition des méthodes en Go
- Les pointeurs et fonctions
- Définition des interfaces
- Implémentations
- Les types assertions et types switch
Programmation concurrente
- Présentation des goroutines
- Principe
- Exemple de fonctionnement
- Notion de channel
Exemple de travaux pratiques
- Programmation sur une architecture multiprocesseurs
Compléments
- Quelques packages utiles
- json
- gobs
- reflect
- image
- image / draw
- Debugging de code avec GDB
- Data Race Detector
- Godoc pour la documentation
- Outils d’optimisation de code
Modalités d’évaluation des acquis
- Analyse des résultats individuels produits par chaque participant lors des travaux pratiques, correction au fur et à mesure du déroulé de la formation
- Réalisation d’un test complet sur un projet global de fin de formation, et analyse par le consultant formateur
- Un QCM individuel d’évaluation des acquis est proposé en fin de chaque session
Formation DEV-GO-100 — Go - Initiation. Domaine : Développement. Niveau : Initiation. Durée : 4 jours (28 heures). Mots-clés : go, golang, développement, initiation, concurrence, goroutines. Cylian Formation, Dijon.