recherche
Maisondéveloppement back-endGolangGo Basics : syntaxe et structure

Go Basics: Syntax and Structure

Bienvenue dans la deuxième partie de notre Série de didacticiels de programmation Go, conçue pour construire une base solide en Go (Golang). Cet article, axé sur les Go Fundamentals : Syntax and Structure, couvre tout depuis votre premier « Hello, World ! » programmez des variables, des constantes, des types de données, etc. Que vous soyez novice ou que vous cherchiez à perfectionner vos compétences, ce guide fournit les connaissances nécessaires pour rédiger du code Go efficace et propre.

Une fois terminé, vous serez capable de :

  • Créez votre premier programme Go : Hello, World !
  • Comprendre le package main et la fonction main.
  • Travailler avec des variables, des constantes et des types de données.
  • Saisissez le concept des valeurs nulles dans Go.
  • Utiliser l'inférence de type et la conversion de type.

Commençons !


Concepts de base

1. Votre programme First Go : Bonjour tout le monde !

Chaque parcours de programmation commence par "Hello, World !". En Go :

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Explication :

  • package main : Chaque programme Go commence par une déclaration de package. main signifie un programme exécutable.
  • import "fmt" : importe le package fmt pour la sortie de la console (comme Println).
  • func main() : Le point d'entrée du programme. L'exécution commence ici.
  • fmt.Println("Hello, World!") : Imprime « Hello, World ! » à la console.

2. Comprendre le main Package et la main Fonction

  • Le package main est indispensable pour créer des programmes Go exécutables. Sans cela, votre code ne s'exécutera pas de manière indépendante.
  • La fonction main est obligatoire au sein du package main ; c'est le point de départ du programme.

3. Syntaxe de base : variables, constantes et types de données

Go est typé statiquement : vous devez spécifier le type de données d'une variable. Cependant, Go prend également en charge l'inférence de type pour un code concis.

Variables

Les variables sont déclarées en utilisant var :

var name string = "Go Programmer"
var age int = 30

Raccourci (dans les fonctions) :

name := "Go Programmer"
age := 30

Constantes

Les constantes sont des valeurs immuables, déclarées avec const :

const pi float64 = 3.14159

Types de données

Go propose différents types de données intégrés :

  • Types de base : int, float64, string, bool. Exemple :
var age int = 35
var price float64 = 29.99
var name string = "Bob"
var isActive bool = true
  • Types composites : array, slice, struct, map. Exemple :
// Array
var scores [3]int = [3]int{95, 80, 92}

// Slice
var grades []float64 = []float64{88.2, 91.5, 78.9}

// Struct
type Person struct {
    FirstName string
    LastName  string
    Age       int
}
var person = Person{"Jane", "Doe", 28}

// Map
var capitals map[string]string = map[string]string{
    "France": "Paris",
    "Italy":  "Rome",
}

4. Valeurs nulles en Go

Les variables sans initialisation explicite reçoivent leur valeur zéro :

  • 0 pour les types numériques.
  • false pour les booléens.
  • "" (chaîne vide) pour les chaînes.
  • nil pour les pointeurs, les tranches, les cartes et les canaux.

Exemple :

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

5. Inférence de type et conversion de type

Go déduit les types de variables à partir des valeurs attribuées :

var name string = "Go Programmer"
var age int = 30

La conversion de type nécessite un casting explicite :

name := "Go Programmer"
age := 30

Exemple pratique

Créons un programme démontrant les variables, les constantes, les types de données, les valeurs nulles, l'inférence de type et la conversion de type :

const pi float64 = 3.14159

(Le code serait identique à l'exemple du texte original, avec des noms de variables potentiellement légèrement différents pour maintenir la clarté et éviter les répétitions.)

Sortie (similaire à la sortie originale)

(Le résultat serait similaire à l'exemple original, reflétant les valeurs et les types des variables.)

Explication :

(L'explication serait la même que dans l'original, expliquant chaque section du code.)


Bonnes pratiques

  1. Noms de variables descriptifs : utilisez des noms clairs et significatifs.
var age int = 35
var price float64 = 29.99
var name string = "Bob"
var isActive bool = true
  1. Inférence de type : utilisez := lorsque le type est évident.
// Array
var scores [3]int = [3]int{95, 80, 92}

// Slice
var grades []float64 = []float64{88.2, 91.5, 78.9}

// Struct
type Person struct {
    FirstName string
    LastName  string
    Age       int
}
var person = Person{"Jane", "Doe", 28}

// Map
var capitals map[string]string = map[string]string{
    "France": "Paris",
    "Italy":  "Rome",
}
  1. Évitez les conversions de types inutiles : convertissez uniquement lorsque cela est nécessaire.
  2. Initialisation explicite des variables : initialisez clairement les variables.
  3. Fonction main propre : Gardez main concis ; déléguer la logique à d'autres fonctions.

Conclusion

Cet article couvrait la syntaxe et la structure de base de Go, y compris l'option "Hello, World!" programme, le package et la fonction main, les variables, les constantes, les types de données, les valeurs nulles, l'inférence de type et la conversion de type. La maîtrise de ces principes fondamentaux est cruciale pour votre parcours de programmation Go.

Expérimentez avec l'exemple de programme ou créez le vôtre pour consolider votre compréhension.


Appel à l'action

Cet article fait partie de notre Série de didacticiels Go en cours. Recherchez le prochain tutoriel sur les Structures de contrôle dans Go !

Bon codage ! ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tapez des assertions et des commutateurs de type avec des interfaces GOTapez des assertions et des commutateurs de type avec des interfaces GOMay 02, 2025 am 12:20 AM

GohandlesInterfaces etTypeAssertionSEffectively, EnhancingCodeFlexibilityAndRobustness.1) TypeAssertionsallowruntimeTypeCHecking, asseenwithheshapeInterfaceandCirctleTy.2)

Utilisation d'erreurs.Utilisation d'erreurs.May 02, 2025 am 12:11 AM

GO Language Les erreurs de la langue deviennent plus flexibles et lisibles via Errors.is et Errors. Comme fonctions. 1.Errors.is est utilisé pour vérifier si l'erreur est la même que l'erreur spécifiée et convient au traitement de la chaîne d'erreur. 2. ERRORS. As peut non seulement vérifier le type d'erreur, mais également convertir l'erreur en un type spécifique, ce qui est pratique pour extraire les informations d'erreur. L'utilisation de ces fonctions peut simplifier la logique de gestion des erreurs, mais faire attention à la livraison correcte des chaînes d'erreur et éviter une dépendance excessive pour éviter la complexité du code.

Tableau des performances dans Go: Optimiser vos applicationsTableau des performances dans Go: Optimiser vos applicationsMay 02, 2025 am 12:06 AM

TomakeGoapplicationsRunfasterandMoreEfficiently, useProfilingTools, LeverageConcurrency et ManageMemoryEffective.1) useProfforcpuandMemoryProfilingtodentifyBottleneck

L'avenir de Go: Tendances et développementsL'avenir de Go: Tendances et développementsMay 02, 2025 am 12:01 AM

GO'sfutureisbrightwithTrends like improvedtooling, génériques, cloud-nativeadoption, performanceenhancements et webassembly integration, butchallengeSincludemainainingImPlicityAnd Improverrorror.

Comprendre les Goroutines: une plongée profonde dans la concurrence de GoComprendre les Goroutines: une plongée profonde dans la concurrence de GoMay 01, 2025 am 12:18 AM

GoroutinesaConctionnement est en train de savoir-faire, en permettant à la croissance de la pondération.1).

Comprendre la fonction d'init en Go: but et utilisationComprendre la fonction d'init en Go: but et utilisationMay 01, 2025 am 12:16 AM

La poursuite de la théorie des fonctionnalités, les réglementations de configurations, l'orperformance a été utile, utilise-to-nection des fonctionnalités.

Comprendre les interfaces GO: un guide completComprendre les interfaces GO: un guide completMay 01, 2025 am 12:13 AM

GoInterfaceSareMethodsignatisesetSeTyPesmustimplement, permettant de permettre à la transfert depolymorphisms avec une information pour laCleaner, modularCode.Eplicite Implicitement satisfait, utile pour lesquelleserrorSandDeCoupling, ButrequireCarefusetoavoidRumeerRorroSedMaintAntainTaidTaipTyPesafety.

Récupérer des paniques en Go: quand et comment utiliser Recover ()Récupérer des paniques en Go: quand et comment utiliser Recover ()May 01, 2025 am 12:04 AM

Utilisez la fonction Recover () dans GO pour récupérer de la panique. Les méthodes spécifiques sont: 1) Utiliser Recover () pour capturer la panique dans la fonction de différence pour éviter les accidents du programme; 2) Enregistrer les informations d'erreur détaillées pour le débogage; 3) Décidez de reprendre l'opportunité de reprendre l'exécution du programme en fonction de la situation spécifique; 4) Utiliser avec prudence pour éviter d'affecter les performances.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire