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.
--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
-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.
-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)
-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.
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.
・ 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