Plan du cours
Go dans son contexte : une comparaison
- Go vs Java, Python, C, et autres
- Principales philosophies de conception de Go
- Quand (et quand ne pas) utiliser Go
Concepts fondamentaux du langage
- Configurer un environnement de développement pour Go
- Variables, constantes et types
- Fonctions et valeurs de retour multiples
- Structures de contrôle : if, switch, for
- Tableaux, slices et maps
- Structs et emboîtement
- Méthodes et interfaces
- Comprendre les pointeurs dans Go
- Idiomes et modèles de gestion des erreurs
Concurrence dans Go
- Goroutines et le planificateur en temps d'exécution de Go
- Channels et transmission de messages
- Instructions select
- Modèles de concurrence (diffusion, regroupement, pools de travailleurs)
- Synchronisation (WaitGroups, Mutexes)
Utilisation des paquets standards et courants
- Travailler avec les paquets fmt, strings, time et math
- Entrées/sorties de fichiers avec os et io/ioutil
- Clients HTTP et serveurs avec net/http
- Analyse et codage JSON
Organisation des projets et modules Go
- Utilisation des modules Go pour la gestion des dépendances
- Organiser les paquets et fichiers
- Compiler et installer des applications Go
Outils de Go
- Utilisation de gofmt et go vet pour le formatage et la vérification du code
- Exécuter et écrire des tests unitaires avec go test
- Benchmarking et profilage avec go test -bench et pprof
- Déboguer avec Delve (optionnel)
Résumé et prochains pas
- Meilleures pratiques pour le développement en Go
- Aperçu des frameworks web de Go et de son écosystème
- Ressources pour la formation continue
Pré requis
- Connaissance d'un langage de programmation (par exemple C, Java, Python, PHP, etc.).
- Ce cours ne détaille pas les concepts de base comme les boucles ou les instructions conditionnelles — il se concentre sur la façon dont ces concepts sont implémentés en Go.
Public cible
- Développeurs logiciels familiers avec d'autres langages de programmation
- Développeurs backend en transition vers Go
- Ingénieurs travaillant sur des applications cloud-native ou critiques pour la performance
Nos clients témoignent (7)
Mohamed est quelqu'un de très pédagogue. Il prend vraiment le temps de faire des explications claires et parvient à faire le parallèle avec d'autres langages de programmation.
Remi - Focus Engineering SRL
Formation - Go Programming Language for Programmers
Les exercices pratiques qui étaient vraiment divertissants.
Jurgen Cruz - Focus Engineering SRL
Formation - Go Programming Language for Programmers
Traduction automatique
Le formateur connaissait les concepts de langage de niche et avait une perspective historique sur l'évolution du langage depuis sa date de sortie initiale.
Brandon - DuosTechnologies, Inc.
Formation - Go Programming Language for Programmers
Traduction automatique
Le niveau de détail sur les mécanismes expliquant pourquoi et comment quelque chose fonctionnait était très utile. J'ai également beaucoup apprécié avoir le dépôt pour pouvoir le cloner pendant la journée, ce qui m'a permis de me concentrer sur ce qu'il expliquait.
Sara - DuosTechnologies, Inc.
Formation - Go Programming Language for Programmers
Traduction automatique
La manière pédagogique de présenter
Ivo Abdul - CEDSIF Ministry of Finance
Formation - Go Programming Language for Programmers
Traduction automatique
Conceptes de plage, segment, échanges,...
Edmundo Manave - CEDSIF Ministry of Finance
Formation - Go Programming Language for Programmers
Traduction automatique
La simplicité du langage et les exemples fournis par l'enseignant
Alvaro Salomao Rumbane - CEDSIF Ministry of Finance
Formation - Go Programming Language for Programmers
Traduction automatique