Programmation Google Go (Golang)

Objectifs 
  • Connaître les caractéristiques du Go, ses points forts et les défis que son utilisation peut présenter
  • Être en mesure de programmer en Go : savoir manipuler des modèles de données, organiser le code dans des packages, tester le code, documenter le code, utiliser la sérialisation JSON ou XML, créer et tester une API web et utiliser les outils principaux pour Go
  • Comprendre le potentiel du langage Go et être en mesure d'évaluer l'intérêt de l'utilisation de Go dans son projet face aux autres langages et cadres de développement.
Contenu 
  • Introduction
  • Bases : variables, inférence de types, constantes et leur affichage, paquets et importation, emplacement du code, exportation des noms, fonctions, signature, valeurs de retour et résultats nommés, pointeurs et mutabilité
  • Types : types de base, conversion des types, assertion de types, structures, initialisation, composition vs héritage
  • Types collections : tableau (Array), tranche (Slice), plage (Range) et tableau associatif (Map)
  • Structure de contrôle : instruction if, boucle for et instruction switch
  • Méthodes : organisation du code, alias de types et récepteurs de méthode
  • Interfaces : caractère implicite des interfaces ; l'interface error ; réflexion et assertions de type
  • Programmation concurrente : Goroutines, canaux et instruction select
  • Industrialisation : tests unitaires, contrôle du taux de couverture, benchmarking intégré
  • Documentation : format et serveur GoDoc
  • Installation sur OS X, Windows et Linux
  • Astuces et outils : génération de code (go generate), vérification de code (go vet), formatage automatique (go fmt)...
  • Atelier pratique pour la réalisation d'un des quatre projets d'exemple : 1.) Traitement d'image, 2.) Programmation réseau, 3.) Consommation de ressources web, 4.) Utilisation d'API Godoc
Pré-requis 
  • Pratique d'au moins un langage de programmation, par exemple, C, C++, Delphi, Java, JavaScript, PHP, Python, Ruby.
  • La pratique de langages de markup comme CSS, HTML ou XML n'est ni nécessaire ni suffisante
Public concerné 
Forme pédagogique 
Référence : 
GO-101