Tout développeur souhaitant apprendre la programmation avec le langage Go.
Connaître et maîtriser les concepts de base, savoir écrire des programmes simples en Go et mettre en oeuvre les mécanismes de programmation multi-thread
Connaissance d'un langage de programmation structuré.
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 en 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,les variables, types de base, conversion de types,
constantes, ...
Instructions de contrôle (boucles, tests, ... ) :for, if,else, switch , defer
Mise en pratique : exemples boucles et fonctions,
Autres types
Pointeurs, structures, tableaux. Notion de slices et maps. Exemples et exercices de mise en oeuvre
Methodes 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
Exercices de mise en pratique
Programmation concurrente
Présentation des goroutines : principe et exemple de fonctionnement.
Notion de channel.
Exemple de programmation sur une architecture multi-processeurs
Compléments
Quelques packages utiles : json, gobs, reflect, image, image/draw
Outils : debugging de code avec GDB
Data Race Detector, Godoc pour la documentation,outils d'optimisation de code