Ce que les utilisateurs de Java ont pensé d'utiliser le langage Go pendant une journée

introduction

Le titre dit un jour, mais je l'ai commencé avant-hier, et cela a-t-il pris environ huit heures au total? J'ai pensé, alors je vais résumer mes impressions.

Concaténation de chaînes

Souvent, "+" est utilisé pour combiner des chaînes dans une boucle. .. .. Je vois un article typique, mais ce n'est pas le cas de la combinaison chaîne de caractères + valeur numérique.

Avec Java

int bread = 13;
System.out.println("Vous souvenez-vous du nombre de pains que vous avez mangés?");
System.out.println(bread + "Je suis Japonais");

Je l'écris de la même manière.

Avec Golang (je suis désolé j'ai omis l'importation)

bread := 13
fmt.Println("Vous souvenez-vous du nombre de pains que vous avez mangés?")
fmt.Printf("%d feuilles je suis japonais\n", bread)

Sera.

Après cela, vous pouvez convertir le type.

bread := 13
breadStr := strconv.Itoa(bread)

Pas d'opérateur ternaire

J'ai écrit une erreur de syntaxe lorsque je voulais renvoyer une valeur avec un opérateur ternaire. Il n'y en a pas. .. ..

Avec Java

boolean isOk = true;
String text = isOk ? "OK" : "NG";

Le mec.

Avec Golang

isOk := true
text := "NG"
if isOk {
    text = "OK"
}

etc.

Le traitement en boucle est pour l'instruction uniquement

Avec Java8 et StreamAPI, j'écris de plus en plus en utilisant des chaînes de méthodes, mais je ne peux pas faire ça. Il existe quelque chose de similaire à l'instruction Extended for, mais vous devez être un peu prudent.

Avec Java

String[] array = {"a", "b", "c"};

//API de flux
Arrays.stream(array).peek(System.out::println);

//Étendu pour déclaration
for (String text : array) {
    System.out.println(text);
}

Le mec.

Avec Golang

NG.go


array := []string{"a", "b", "c"}

for text := range array {
    fmt.Println(text)
}

Ce n'est pas bon

OK.go


array := []string{"a", "b", "c"}

for _, text := range array {
    fmt.Println(text)
}

n'est-ce pas. Étant donné que la plage qui peut être utilisée dans l'instruction for est Multiple Return Values, la première valeur de retour est l'index et la deuxième valeur de retour est la valeur stockée dans le tableau. Veuillez noter que l'omission du deuxième cas ne provoquera pas d'erreur.

Autres choses

Je n'ai pas beaucoup parlé de la relation entre l'interface {} et le type, comme la goroutine et le canal de manière asynchrone, donc je l'écrirai après l'avoir touchée un peu plus.

en conclusion

Go language est intéressant! (Est-ce amusant d'apprendre une nouvelle langue?)

J'ai quelques problèmes lors de l'écriture de diverses choses, mais je pensais que c'était relativement facile à vivre.

Recommended Posts

Ce que les utilisateurs de Java ont pensé d'utiliser le langage Go pendant une journée
Éviter les pièges de l'utilisation d'un Mac (pour les utilisateurs Linux?)
Le programmeur Java a essayé de toucher le langage Go (pour le moment)
Impressions d'utilisation de Flask pendant un mois
L'histoire de l'introduction d'une fonction d'authentification multifacteur utilisant un mot de passe à usage unique dans une application Java
Découpez une partie de la chaîne à l'aide d'une tranche Python
Un expert Ruby a appris la grammaire de base du langage Go
Vérifier l'existence de tables BigQuery en Java
Qu'est-ce qu'un moteur de recommandation? Résumé des types
Ce que j'ai pensé après avoir travaillé pendant un an sur le projet "Ne pas écrire de commentaires"
TensorFlow change-t-il l'image de l'apprentissage profond? Ce que j'ai pensé après avoir touché un peu
L'histoire de la création d'un canal VIP dans le chatwork en interne
Remarques sur l'intégration du langage de script dans les scripts bash
Essayez une recherche similaire de recherche d'images à l'aide du SDK Python [Recherche]
Remarque 2 pour intégrer le langage de script dans un script bash
L'histoire de la création d'une base de données à l'aide de l'API Google Analytics
A quoi sert l'interface ...
Un mémorandum d'utilisation de eigen3
Mémorandum de l'outil de gestion de paquets Python ez_setup
L'utilisation de la mémoire de GraalVM peut être très faible. Quel 1/16 de Java!
Made Gomi, un outil de corbeille pour RM en langue Go
100 traitement de la langue knock-96 (en utilisant Gensim): Extraction du vecteur lié au nom du pays
Évaluer les performances d'un modèle de régression simple à l'aide de la validation d'intersection LeaveOneOut
Essayez d'utiliser Elasticsearch comme base de votre système de questions et réponses
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 1)
Créez une fonction pour obtenir le contenu de la base de données dans Go
[Kaggle] J'ai fait une collection de problèmes en utilisant le didacticiel Titanic
L'histoire de la recherche d'un magasin BOT (AI LINE BOT) pour Go To EAT dans la préfecture de Chiba (1)
Une histoire d'essayer d'améliorer le processus de test d'un système vieux de 20 ans écrit en C