Maison >développement back-end >Golang >Quelle est la différence entre golang et c ?

Quelle est la différence entre golang et c ?

青灯夜游
青灯夜游original
2020-04-17 16:39:094605parcourir

Quelle est la différence entre golang et c ?

La différence entre le langage Golang et le langage C

1. Différence de surface - point-virgule à la fin de la ligne

Les programmeurs issus de C, C++, C# et Java seront très surpris que le code Go qu'ils voient n'ait pas de point-virgule de fin de ligne (";") comme terminateur de ligne. Avant d'expliquer ce problème, nous déclarons un fait important : la syntaxe formelle Go utilise un point-virgule anglais (";") comme identifiant de fin.

La raison pour laquelle nous n'avons pas besoin d'ajouter un point-virgule à la fin de la ligne est que la conception de Go est basée sur les deux considérations suivantes :

  • Quelques des règles simples peuvent être utilisées pour déterminer la fin d'une ligne de déclaration. Par conséquent, le point-virgule à la fin de la ligne peut être omis

  • Omettre le point-virgule à la fin de la ligne peut être utilisé ; mieux standardiser le code.

Lors de la compilation de Golang, lorsque le dernier segment d'une ligne de code (ligne sans commentaire) correspond à l'une des cinq situations suivantes, un point-virgule est automatiquement inséré à la fin de la ligne :

  1. La fin de la ligne est l'une des trois parenthèses droites :), ], };

  2. La fin de la ligne est l'incrément ou opérateur de décrémentation (++ , –) ;

  3. La fin de la ligne est une valeur spécifique de type : booléen, entier, nombre à virgule flottante, nombre complexe, point de code Unicode ou chaîne. littéral;

  4. La fin de la ligne est un identifiant : comprenant le nom du type, le nom de la variable, le nom de la constante, l'étiquette du saut, le nom du package et le nom de l'introduction du package (à l'exclusion des mots-clés

    ) ;
  5. La fin de la ligne est constituée de 4 mots-clés de saut : dont break, continue, fallthrough et return (à l'exclusion des autres mots-clés).

2. Comparaison des variables constantes

Le langage C définit les formats constants et variables

数据类型 变量名称 = 值;
const 数据类型 常量名称 = 值;

Le langage Go définit les constantes et les variables formats

En plus des formats standards suivants, le langage Go fournit également plusieurs sucres syntaxiques simples

var 变量名称 数据类型 = 值;
const 变量名称 数据类型 = 值;

Comparaison de la gestion du code

Langage C. Gérer le code via des fichiers en langage Go

● Lorsque vous souhaitez utiliser une certaine fonction, il vous suffit d'inclure le fichier .h correspondant

Gérer le code via des packages en langage Go

greepLe langage Go n'a pas la notion de fichiers .h Lorsque vous souhaitez utiliser une certaine fonction dans Go, il vous suffit d'importer le package correspondant

Gestion publique et privée des fonctions et variables dans. Langage C

QuantityQuantity s'il faut exposer les fonctions et les variables via extern et static

Gestion publique et privée des fonctions et des variables en langage Go

Quantityweight s'il faut exposer les fonctions via la mise en majuscule de la première lettre du nom de la fonction

greepLa question de savoir si les variables doivent être exposées est réalisée en mettant en majuscule la première lettre du nom de la variable

4. 🎜>résume les huit points suivants :

    Programmation simultanée
  1. Programmation orientée interface
  2. Fonction avec plusieurs valeurs de retour
  3. Exécution différée
  4. Gestion des exceptions
  5. Puissante et programmation réseau haute performance
  6. Gestion et recyclage de la mémoire
  7. Code multiplateforme et cross-compilation
  8. C'est en raison des huit différences fondamentales ci-dessus que Go est connu comme le langage C à l'ère d'Internet.

5. Différences spécifiques

Quant aux différences spécifiques entre C et Go, il existe un tableau comparatif détaillé sur hyperpolyglot : http://hyperpolyglot.org/c

hyperpolyglot.org

fournit une comparaison détaillée de certains langages et outils de développement similaires. Vous pouvez y jeter un œil lorsque vous n'avez rien à faire. Apprentissage recommandé :

Tutoriel Golang

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