Programmation Google Go (Golang)
Un cours de
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
, bouclefor
et instructionswitch
- 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é
Référence :
GO-101