Pourquoi choisir golang, les avantages et les inconvénients de golang

Pourquoi choisir golang

0. Le niveau de code source haute performance de la coroutine golang prend en charge les coroutines, ce qui est facile à mettre en œuvre ; par rapport aux processus et aux threads, les coroutines occupent moins de ressources et peuvent gérer les problèmes à haute simultanéité de manière concise et efficace.

**1. Courbe d'apprentissage facile-** Le code est minimal

La syntaxe du langage Go est simple, y compris la syntaxe de type C. Parce que le langage Go est facile à apprendre, un étudiant moyen peut écrire une application pratique et performante en quelques semaines. Tout le monde en Chine recherche la vitesse, ce qui est l'une des raisons pour lesquelles le Go est populaire en Chine.

Les caractéristiques grammaticales de la langue Go sont tout simplement trop simples, si simples que vous pouvez à peine faire des tours, aller droit au but, la courbe d'apprentissage est très faible et vous pouvez commencer très rapidement.

2. Efficacité : temps de compilation rapide, efficacité de développement et de fonctionnement élevée

Les temps de compilation rapides de Go sont un avantage d'efficacité majeur pendant le développement par rapport aux vitesses de compilation lentes de Java et C++. Go a une efficacité opérationnelle proche de C et une efficacité de développement proche de PHP.

La philosophie du langage C est de faire confiance aux programmeurs, de garder le langage compact, de ne pas protéger la couche inférieure et d'être amical avec la couche inférieure, et de prêter attention à l'efficacité d'exécution et aux performances du langage. L'attitude de Python est de faire le plus possible avec le moins de code possible. Je peux donc sentir que le langage Go veut unifier C et Python, ce qui est une bonne chose.

3. Né dans une famille célèbre et de sang pur

La raison pour laquelle Go vient d'une famille célèbre peut être vue par le créateur de la langue Go. La langue Go est absolument pure dans le sang. Deuxièmement, le langage Go vient de Google, et il va sans dire que la popularité et la force de Google dans l'industrie. Google a réuni un groupe de personnes talentueuses pour lancer un nouveau langage de programmation dans une situation où divers langages de programmation se disputent l'hégémonie. Naturellement, il a ses considérations stratégiques. Et à en juger par la tendance de développement du langage Go, Google valorise toujours sa nouvelle coqueluche, et Go a naturellement de belles perspectives de développement.

4. Gratuit et efficace : pensée combinée, interface non intrusive

Le langage Go peut être considéré comme une fusion parfaite de l'efficacité du développement et de l'efficacité opérationnelle, avec un support naturel de la programmation simultanée. Le langage Go prend en charge tous les paradigmes de programmation actuels, y compris la programmation procédurale, la programmation orientée objet, la programmation orientée interface et la programmation fonctionnelle. Les programmeurs peuvent prendre ce dont ils ont besoin, combiner librement et jouer comme ils le souhaitent.

**5. Bibliothèque standard puissante-** Écologie

Soutenu par Google, l'écologie est riche et vous pouvez facilement aller chercher une variété de roues de haute qualité. Les utilisateurs peuvent se concentrer sur la logique métier et éviter de réinventer la roue.

Cela inclut les applications Internet, la programmation système et la programmation réseau. La bibliothèque standard de Go est fondamentalement très stable, en particulier les trois que j'ai mentionnées ici, les bibliothèques au niveau de la couche réseau et de la couche système sont très pratiques. La bibliothèque lib du langage Go est petite et complète. Il existe essentiellement les bibliothèques les plus couramment utilisées dans la bibliothèque lib du langage Go. Bien que certaines bibliothèques ne soient pas très bonnes, je ne pense pas que ce soit un problème, car je pense que ces problèmes seront résolus lors de développements futurs.

6. Déploiement facile : fichiers binaires, déploiement de copie

Le déploiement est simple. Une fois le code source compilé dans un fichier exécutable, il peut être exécuté directement, ce qui réduit la dépendance vis-à-vis d'autres plug-ins. Contrairement à d'autres langages, le fichier d'exécution dépend de divers plug-ins et de diverses bibliothèques.La machine de R&D fonctionne normalement, mais lorsqu'elle est déployée dans l'environnement de production, elle ne peut pas fonctionner.

7. Concurrence simple

La programmation parallèle et asynchrone est presque indolore. Les deux artefacts de Goroutine et Channel en langage Go sont tout simplement le grand évangile de la programmation concurrente et asynchrone. La concurrence et l'asynchronisme de langages comme C, C++, Java, Python et JavaScript sont trop complexes et sujets aux erreurs, mais Go résout ce problème de manière très élégante et fluide. Pour les programmeurs qui ont été torturés par la concurrence et l'asynchronisme dans la programmation pendant de nombreuses années, c'est un sentiment complètement accrocheur. Go est un langage très efficace avec un degré élevé de prise en charge de la concurrence. Go est un langage de programmation pour le Big Data, les microservices et la concurrence.

Go en tant que langage s'efforce de garder les choses simples. Il n'introduit pas beaucoup de nouveaux concepts, mais se concentre plutôt sur la construction d'un langage simple, incroyablement rapide et facile à utiliser. Ses seules innovations sont les goroutines et les canaux. Les goroutines sont l'approche légère de Go pour les threads, et les canaux sont le moyen préféré de communication entre les goroutines.

Les goroutines sont bon marché à créer, ne nécessitant que quelques milliers d'octets de mémoire supplémentaire, ce qui permet d'exécuter des centaines voire des milliers de goroutines simultanément. La communication entre les goroutines peut être réalisée à l'aide de canaux. Les goroutines et une approche de la simultanéité basée sur les canaux facilitent l'utilisation de tous les cœurs de processeur disponibles et la gestion des E/S simultanées. L'exécution d'une fonction sur une goroutine nécessite un minimum de code par rapport à Python/Java.

8. Stabilité

Go dispose de puissants contrôles de compilation, de normes de codage strictes et d'outils complets de cycle de vie des logiciels. Il a une forte stabilité, et la stabilité est écrasante. Alors pourquoi Go est-il plus stable que d'autres programmes ? En effet, Go fournit des outils pour chaque maillon du cycle de vie du logiciel (développement, test, déploiement, maintenance, etc.), tels que go tool, gofmt, go test.

9. Multiplateforme De nombreuses langues prennent en charge la multiplateforme.Prendre cet avantage seul ne semble pas être une louange, mais combiné avec les avantages ci-dessus, sa capacité globale est très forte.

inconvénients du golang

①L'accolade droite n'autorise pas les retours à la ligne, sinon la compilation signalera une erreur

② Les packages ou variables inutilisés ne sont pas autorisés

③ La gestion des erreurs est primitive. Bien que la logique de report, de panique et de récupération soit introduite pour traiter les erreurs, la fonction peut renvoyer plusieurs valeurs, mais cela dépend essentiellement du fait que l'erreur renvoyée est vide pour juger si la fonction est exécutée avec succès. Il y a beaucoup d'instructions if err != nil.Plus lourd, le programme n'est pas aussi beau que java. (Explication officielle : plusieurs valeurs de retour sont fournies et il est pratique de gérer les erreurs. Si vous ajoutez un mécanisme d'exception, vous devrez vous souvenir de certaines exceptions courantes, telles que IOException, et le type d'erreur de go est plus unifié. et pratique.) ④[]interface{} ne prend pas en charge les opérations d'indice

⑤struct n'a pas de construction ni de destruction, et certaines actions d'application et de libération de ressources ne sont pas pratiques

⑥L'opération de pointeur de C/C++ est toujours réservée, prenez l'adresse &, prenez la valeur *

Je suppose que tu aimes

Origine blog.csdn.net/2301_76484015/article/details/130503373
conseillé
Classement