Public visé
Tout développeur souhaitant apprendre la programmation avec le langage Go.
Prérequis
Connaître un langage de programmation structurée.
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
- 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