[Go] Grammaire de base ① Définition

Maintenant que j'ai fini de regarder la section «définition» du cours udemy, je vais résumer et regarder en arrière.

J'ai appris en sortant l'opération de base sur la console.

supposition

--Apprenez le Go en regardant Introduction à Go enseignée par des ingénieurs actifs de la Silicon Valley + Développement de l'application Bitcoin Systre Fintech par application sur udemy Pendant ~

Bibliothèque

-Vous pouvez lire l'explication sur "document" sur le site go ou à l'invite de commande. -Importer et utiliser en dehors de la fonction.

variable

-Si la variable déclarée n'est pas utilisée, une erreur de compilation se produira. ・ Il est également possible de tout déclarer en même temps ↓

	var (
		a int
		b float64
		c string
		d bool
	)

-Dans une fonction, il peut être déclaré sans spécifier de type. (Le type est automatiquement déterminé.) -Les types de variables peuvent être vérifiés à l'aide des fonctions de la bibliothèque fmt.

   x := 1
       
     //Vous pouvez vérifier le type avec Printf
     fmt.Printf("%T", x)

-Déclarer les valeurs invariantes avec const. Habituellement écrit en dehors de la fonction.

const (
    //Aucun type spécifié dans const (interprété par le compilateur mais non exécuté)
	Username = "test_user"
	Password = "test_pass"
)

-Lorsqu'elle est appelée à partir d'autres fichiers go, commencez le nom de la variable avec des lettres majuscules.

Tableau

-La taille d'un tableau créé en spécifiant le nombre d'éléments ne peut pas être modifiée. -Si vous générez un tableau sans spécifier le nombre d'éléments dans la tranche, vous pouvez ajouter des éléments avec append. ・ Il existe deux façons de déclarer un tableau avec 0 élément ↓

    //Motif 1 Générer un tableau avec les valeurs initiales en mémoire
	array1 := make([]int, 0)
	//Motif 2 nul(Traitement nul)
	var array2 []int

Map -Il est enregistré en tant que type de carte. -La valeur peut être récupérée à partir de la clé.

    m := map[string]int{"apple": 100, "banana": 200}

	//Vous pouvez récupérer la valeur de la clé
	fmt.Println(m["apple"])

	//Vous pouvez spécifier la clé et mettre à jour la valeur
	m["banana"] = 300
	fmt.Println(m)

	//De nouveaux éléments peuvent être ajoutés
	m["new"] = 500
	fmt.Println(m)

Fermeture

-Peut être défini comme valeur de retour pour chaque fonction. -La valeur de la fonction est conservée. -Comme il est difficile de comprendre le mouvement de la valeur, il est préférable de suivre le mouvement avec un outil de débogage.

func circleArea(pi float64) func(radius float64) float64 {
	return func(radius float64) float64 {
		return pi * radius * radius
	}
}

func main(){
    //Définissez d'abord le rapport de circonférence
	c1 := circleArea(3.14)
    c2 := circleArea(3)

	//Exécuter le calcul à partir du rapport de circonférence défini
    fmt.Println(c1(2))
	fmt.Println(c2(2))
}

Pour l'explication de la fermeture, je me suis également référé au site ici.

Différence avec Java

Comme j'utilise habituellement Java, il y avait quelques points qui m'intéressaient.

-Il n'y a pas de ";" à la fin de la ligne. -La classe n'existe pas. -Ne spécifiez pas public / privé. -Décrire dans l'ordre "nom de la variable ". (Inverser en java) -S'il y a même une variable inutilisée, une erreur se produira. -Gérer les valeurs à l'aide des fonctions fournies par la bibliothèque, non orientées objet. (Il n'y a pas d'héritage de la classe d'objets.)

Is Go an object-oriented language? Yes and no. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. The concept of “interface” in Go provides a different approach that we believe is easy to use and in some ways more general. There are also ways to embed types in other types to provide something analogous—but not identical—to subclassing. Moreover, methods in Go are more general than in C++ or Java: they can be defined for any sort of data, even built-in types such as plain, “unboxed” integers. They are not restricted to structs (classes). Also, the lack of a type hierarchy makes “objects” in Go feel much more lightweight than in languages such as C++ or Java.

Impressions

・ Le traitement est rapide. -Je sentais que la méthode de description de fonction était similaire à javaScript. (Je ne suis pas sûr car j'ai peu de connaissances en javaScript ... je vais également étudier JS.) ・ La carte est facile à manipuler. Les éléments peuvent être extraits sans recherche avec l'instruction for. ・ L'apprentissage avec udemy est efficace car vous pouvez bouger vos mains tout en écoutant l'explication.

Recommended Posts

[Go] Grammaire de base ① Définition
[Go] Grammaire de base ② Instruction
[Go] Grammaire de base ③ Pointeur
Grammaire de base Python3
Grammaire de base Python (divers)
Mémo de grammaire de base Python
Un expert Ruby a appris la grammaire de base du langage Go
Grammaire de base du système Python3 (quelques itérations de Python)
Installation de Python et grammaire de base
Mémo de grammaire de base Python (1)
Grammaire de base Python (divers) Mémo (3)
Grammaire de base Python (divers) Mémo (2)
Grammaire de base Python pour les débutants
J'ai appris la grammaire de base de Python
Grammaire de base Python (divers) Mémo (4)
Installation de Python (Python 3.7.7) et grammaire de base
Comparaison de la grammaire de base entre Java et Python
Introduction à Ansible Partie 2 'Grammaire de base'
À propos du type de base de Go
Grammaire de base du système Python3 (dictionnaire)
Comparer la grammaire de base de Python et Go d'une manière facile à comprendre
[Grammaire de base] Différences entre Ruby / Python / PHP
[Python] J'ai personnellement résumé la grammaire de base.
Grammaire de base de la série Python3 (chaîne de caractères)
Grammaire de base de la série Python3 (liste, tapple)
Grammaire de base du système Python3 (notation incluse)