Funktionen der Go-Sprache

Überblick

Sprachdesign und Grammatik

einfach

Es gibt nicht viele Möglichkeiten, die Go-Sprache zu schreiben, und der Schreibstil ist bis zu einem gewissen Grad festgelegt, sodass er einfach implementiert werden kann. Es ist relativ einfach, die Sprachspezifikationen für gestern zu verstehen.

Sprache kompilieren

Eine Kompilierungssprache ist eine Sprache, die ** den gesamten Code vor der Ausführung auf einmal in eine Maschinensprache oder eine Zwischensprache ** kompiliert (übersetzt). Die Kompilierungssprache hat das Merkmal, dass die Beschreibungsmethode streng ist **, aber sie hat das Merkmal, dass ** die Verarbeitung schnell ist **, da sie in einem Stapel in die Maschinensprache konvertiert und vom Computer verarbeitet wird. Die Go-Sprache soll ** schnell zu kompilieren ** sein.

Statische Eingabe

In der Sprache Go müssen Sie den Typ beim Schreiben eines Programms im Voraus angeben **. Durch statisches Kompilieren im Voraus ist es nicht erforderlich, die Typbiosynthese bei der Ausführung des Programms zu überprüfen, und die Verarbeitungsgeschwindigkeit wird erhöht. Außerdem wird beim Kompilieren nach Typen gesucht, sodass Sie nach ** Typausrichtungsfehlern ** suchen können. Java- und C-Sprachen haben diese Funktion.

Andererseits gibt es dynamisch typisierte Sprachen, die beim Schreiben von Programmen nicht eingegeben werden. JavaScript, Ruby, Python usw. sind dynamisch typisierte Sprachen. Diese sind nicht schnell, aber der Schreibaufwand im Programm ist gering und die Lernkosten für das Schreiben sind gering, sodass Sie Code intuitiv schreiben können.

Parallele Programmierung

Gehen Sie Routine

Es ist eine Funktion, die die Verarbeitung in einem virtuellen Thread startet und ein Bild eines Lightweight-Threads ist. Dies kann erreicht werden, indem die Funktion mit dem Schlüsselwort go aufgerufen wird.

func main() {
  go f()  //Eine Go-Routine aufrufen
}
func f() {
  // some task
}

Goroutine kann keinen Rückgabewert für eine Funktion festlegen. In der Go-Routine wird sie verworfen, wenn der Vorgang abgeschlossen ist.

Kanal

Da nicht nur mit der go-Routine festgestellt werden kann, ob eine Arbeit ausgeführt oder abgebrochen wird, kann die Fehlerbehandlung nicht durchgeführt werden, wenn unbeabsichtigtes Verhalten auftritt. Da es keinen Rückgabewert gibt, können Sie den verarbeiteten Wert aufgrund der Arbeit nicht erhalten. Daher ermöglicht eine als Kanal bezeichnete Funktion den ** Datenaustausch zwischen Go-Routinen **. Durch die Beschreibung des Empfangs des Kanals ** wird gewartet, bis der Wert gesendet wird **. Kanäle können auch ** Puffer ** haben, und die Angabe eines Puffers bei der Erstellung bestimmt die Anzahl der Daten, die ein Kanal haben kann. (Standard ist 0) Das Senden eines Werts über den Puffer hinaus führt zu einer Blockierung des Sendens.

Reichhaltige Standardbibliothek

Die Go-Sprache verfügt über eine große Sammlung von Standardbibliotheken.

Einzelne binäre Cross-Kompilierung

Mit der Go-Sprache können Sie Binärdateien für verschiedene Betriebssysteme und Architekturen erstellen. Dies kann erreicht werden, indem die Umgebungsvariablen GOOS und GOARCH wie unten gezeigt angegeben werden.

# Windows(32bit)Zum
$ GOOS=windows GOARCH=386 go build

# Linux(Für 64bit)
$ GOOS=linux GOARCH=amd64 go build

In der Sprache Go geschriebene Programme werden grundsätzlich als einzelne Binärdateien generiert, die unabhängig voneinander ausgeführt werden können. Nach dem Kompilieren müssen die für die LL-Sprache erforderliche Laufzeit und Abhängigkeiten (eine Sprache, die die Verarbeitung mit einer kurzen Beschreibung realisieren kann) nicht verwaltet werden, und es muss keine Betriebsumgebung vorbereitet werden.

Recommended Posts

Funktionen der Go-Sprache
Hallo Welt mit allen Funktionen der Go-Sprache
100 Sprachverarbeitung Knock-75 (mit Scicit-Learn): Gewicht der Identität
Hauptfunktionen von ChainMap
Ein Ruby-Experte lernte die grundlegende Grammatik der Go-Sprache
Merkmale der Programmiersprache [Memo]
go Sprachen lernen verschiedene Notizen 1
[Golang] Über den Sprachkanal Go
Über die Funktionen von Python
[Golang] Grundlagen der Go-Sprache Über Wertempfänger und Zeigerempfänger
Versuchen Sie, Yuma in der Sprache Go zu implementieren
Train_test_split des Feature-Betrags, der von dict gehalten wird
Funktionen von pd.NA in Pandas 1.0.0 (rc0)
Über den Grundtyp von Go
10 Funktionen von "Sprache mit Batterie" Python
Beherrschen Sie die umfangreichen Funktionen von IPython
100 Sprachverarbeitung Knock-59: Analyse der S-Formel
Zusammenfassung des Konvertierungsverhaltens von go json
Beherrschung der umfangreichen Funktionen von IPython (2)
Merkmale der symbolischen und harten Verbindung
Schreiben Sie einen Test in GO-Sprache + Gin
Zusammenfassung der Mehrprozessverarbeitung der Skriptsprache
Machen Sie etwas objektorientiertes in der GO-Sprache
[GO-Sprache] Organisieren Sie das Importverhalten an anderen Orten als GOPATH
Ich habe eine Art einfaches Bildverarbeitungswerkzeug in der Sprache Go erstellt.
Was Java-Benutzer davon gehalten haben, die Go-Sprache für einen Tag zu verwenden
Ich habe go Sprache für API und die minimale Konfiguration der Reaktion für die Front gemacht
Antworten und Eindrücke von 100 Sprachverarbeitungsklopfen - Teil 1
100 Sprachverarbeitung Knock-91: Vorbereitung von Analogiedaten
Sprachverarbeitung 100 Knocks-44: Visualisierung abhängiger Bäume
Verarbeiten Sie den Namen der Yugioh-Karte in natürlicher Sprache - Yugiou Data Science 2. NLP
100 Sprachverarbeitung Knock-22: Extraktion des Kategorienamens
Antworten und Eindrücke von 100 Sprachverarbeitungsklopfen - Teil 2
Was für eine Programmiersprache ist Python?
Hinweise zur Standardeingabe / -ausgabe von Go
Vorschlag eines neuen Sprachschild-Sprachrahmens
100 Sprachverarbeitung Knock-26: Entfernen von hervorgehobenem Markup
[Golang] Go Sprachgrundlagen Was ist Goroutine?
[GO-Sprache] Lesen wir die YAML-Datei
Zusammenfassung der Hosting-Seiten der Bibliothek nach Sprache
Korrelationsvisualisierung der Merkmalsmenge und der Zielvariablen
[Golang] Über Go-Sprache Produzent und Konsument
Ich verglich die Geschwindigkeit von Go Language Web Framework Echo und Python Web Framework Flask