[Go] Grundlegende Grammatik ① Definition

Nachdem ich den Abschnitt "Definition" des udemy-Kurses gelesen habe, werde ich ihn überprüfen.

Ich habe bei der Ausgabe der Grundbedienung auf der Konsole gelernt.

Annahme

--Lernen Sie Go, indem Sie Einführung in Go, unterrichtet von aktiven Silicon Valley-Ingenieuren + Entwicklung der Bitcoin Systre Fintech-App nach Anwendung bei udemy ansehen Während ~

--Die Entwicklungsumgebung ist VS Code + Plug-In (Go-Version ist 1.15) --OS ist Windows

Bibliothek

Variable

-Wenn die deklarierte Variable nicht verwendet wird, tritt ein Kompilierungsfehler auf. ・ Es ist auch möglich, alle auf einmal zu deklarieren ↓

	var (
		a int
		b float64
		c string
		d bool
	)

-In einer Funktion kann sie ohne Angabe eines Typs deklariert werden. (Der Typ wird automatisch ermittelt.) -Variable Typen können mit Funktionen in der fmt-Bibliothek überprüft werden.

   x := 1
       
     //Sie können den Typ mit Printf überprüfen
     fmt.Printf("%T", x)

-Erkläre invariante Werte mit const. Normalerweise außerhalb der Funktion geschrieben.

const (
    //Kein Typ in const angegeben (vom Compiler interpretiert, aber nicht ausgeführt)
	Username = "test_user"
	Password = "test_pass"
)

-Wenn aus anderen go-Dateien aufgerufen, starten Sie den Variablennamen mit Großbuchstaben.

Array

-Die Größe eines Arrays, das durch Angabe der Anzahl der Elemente erstellt wurde, kann nicht geändert werden. -Wenn Sie ein Array generieren, ohne die Anzahl der Elemente im Slice anzugeben, können Sie Elemente mit Anhängen hinzufügen. ・ Es gibt zwei Möglichkeiten, ein Array mit 0 Elementen zu deklarieren. ↓

    //Muster 1 Generieren Sie ein Array mit Anfangswerten im Speicher
	array1 := make([]int, 0)
	//Muster 2 null(Nullbehandlung)
	var array2 []int

Map -Es wird als Kartentyp gespeichert. -Der Wert kann vom Schlüssel abgerufen werden.

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

	//Sie können den Wert vom Schlüssel abrufen
	fmt.Println(m["apple"])

	//Sie können den Schlüssel angeben und den Wert aktualisieren
	m["banana"] = 300
	fmt.Println(m)

	//Neue Elemente können hinzugefügt werden
	m["new"] = 500
	fmt.Println(m)

Schließung

-Kann für jede Funktion als Rückgabewert festgelegt werden. -Der Wert in der Funktion bleibt erhalten.

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

func main(){
    //Stellen Sie zuerst das Umfangsverhältnis ein
	c1 := circleArea(3.14)
    c2 := circleArea(3)

	//Führen Sie die Berechnung aus dem eingestellten Umfangsverhältnis aus
    fmt.Println(c1(2))
	fmt.Println(c2(2))
}

Zur Erklärung der Schließung habe ich auch auf die Website hier verwiesen.

Unterschied zu Java

Da ich normalerweise Java verwende, gab es einige Punkte, die mich interessierten.

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.

Impressionen

・ Die Verarbeitung ist schnell. -Ich hatte das Gefühl, dass die Funktionsbeschreibungsmethode JavaScript ähnelt. (Ich bin mir nicht sicher, weil ich wenig JavaScript-Kenntnisse habe ... Ich werde auch JS studieren.) ・ Karte ist einfach zu handhaben. Elemente können extrahiert werden, ohne mit der for-Anweisung zu suchen. ・ Das Lernen mit udemy ist effizient, da Sie Ihre Hände bewegen können, während Sie der Erklärung zuhören.

Recommended Posts

[Go] Grundlegende Grammatik ① Definition
[Go] Grundlegende Grammatik ② Anweisung
[Go] Grundlegende Grammatik ③ Zeiger
Grundlegende Grammatik von Python3
Python-Grundgrammatik (Sonstiges)
Python grundlegende Grammatik Memo
Ein Ruby-Experte lernte die grundlegende Grammatik der Go-Sprache
Grundlegende Grammatik des Python3-Systems (einige Iterationen von Python)
Python-Installation und grundlegende Grammatik
Python-Grammatik-Grundnotiz (1)
Python-Grundgrammatik (Verschiedenes) Memo (3)
Python-Grundgrammatik (Verschiedenes) Memo (2)
Grundlegende Python-Grammatik für Anfänger
Ich habe die grundlegende Python-Grammatik gelernt
Python-Grundgrammatik (Verschiedenes) Memo (4)
Python (Python 3.7.7) Installation und grundlegende Grammatik
Vergleich der grundlegenden Grammatik zwischen Java und Python
Einführung in Ansible Teil 2 'Grundlegende Grammatik'
Über den Grundtyp von Go
Grundlegende Grammatik des Python3-Systems (Wörterbuch)
Ein leicht verständlicher Vergleich der grundlegenden Grammatik von Python und Go
[Grundlegende Grammatik] Unterschiede zwischen Ruby / Python / PHP
[Python] Ich habe die grundlegende Grammatik persönlich zusammengefasst.
Grundlegende Grammatik der Python3-Reihe (Zeichenkette)
Grundlegende Grammatik der Python3-Reihe (Liste, Tapple)
Grundlegende Grammatik des Python3-Systems (inklusive Notation)