mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
Merge pull request #1890 from jmeinke/master
[go/de] More infos, reformulation and typo fixes for Go.
This commit is contained in:
commit
95e384fbbc
@ -4,17 +4,16 @@ filename: learngo-de.go
|
||||
contributors:
|
||||
- ["Joseph Adams", "https://github.com/jcla1"]
|
||||
- ["Dennis Keller", "https://github.com/denniskeller"]
|
||||
- ["Jerome Meinke", "https://github.com/jmeinke"]
|
||||
lang: de-de
|
||||
---
|
||||
Go wurde entwickelt, um Probleme zu lösen. Sie ist zwar nicht der neueste Trend in
|
||||
der Informatik, aber sie ist einer der neuesten und schnellsten Wege, um Aufgabe in
|
||||
der realen Welt zu lösen.
|
||||
|
||||
Sie hat vertraute Elemente von imperativen Sprachen mit statischer Typisierung
|
||||
und kann schnell kompiliert und ausgeführt werden. Verbunden mit leicht zu
|
||||
verstehenden Parallelitäts-Konstrukten, um die heute üblichen mehrkern
|
||||
Prozessoren optimal nutzen zu können, eignet sich Go äußerst gut für große
|
||||
Programmierprojekte.
|
||||
Die Sprache Go (auch golang) wurde von Google entwickelt und wird seit 2007
|
||||
benutzt. Go ähnelt in der Syntax der Sprache C, bietet darüber hinaus aber viele
|
||||
Vorteile. Einerseits verzichtet Gp auf Speicherarithmetik und
|
||||
benutzt einen Garbabe Collector. Andererseits enthält Go native Sprachelemente
|
||||
für die Unterstützung von Nebenläufigkeit. Durch den Fokus auf einen schnellen
|
||||
Kompilierprozess wird außerdem die Softwareentwicklung in Großprojekten
|
||||
erleichtert.
|
||||
|
||||
Außerdem beinhaltet Go eine gut ausgestattete Standardbibliothek und hat eine
|
||||
aktive Community.
|
||||
@ -24,7 +23,7 @@ aktive Community.
|
||||
/* Mehr-
|
||||
zeiliger Kommentar */
|
||||
|
||||
// Eine jede Quelldatei beginnt mit einer Paket-Klausel.
|
||||
// Wie bei Java gehört jede Quelldatei einem Paket an (Modularisierung).
|
||||
// "main" ist ein besonderer Paketname, da er ein ausführbares Programm
|
||||
// einleitet, im Gegensatz zu jedem anderen Namen, der eine Bibliothek
|
||||
// deklariert.
|
||||
@ -40,7 +39,7 @@ import (
|
||||
|
||||
// Es folgt die Definition einer Funktion, in diesem Fall von "main". Auch hier
|
||||
// ist der Name wieder besonders. "main" markiert den Eintrittspunkt des
|
||||
// Programms. Vergessen Sie nicht die geschweiften Klammern!
|
||||
// Programms.
|
||||
func main() {
|
||||
// Println gibt eine Zeile zu stdout aus.
|
||||
// Der Prefix "fmt" bestimmt das Paket aus welchem die Funktion stammt.
|
||||
@ -50,8 +49,8 @@ func main() {
|
||||
beyondHello()
|
||||
}
|
||||
|
||||
// Funktionen können Parameter akzeptieren, diese werden in Klammern deklariert,
|
||||
// die aber auch bei keinen Parametern erforderlich sind.
|
||||
// Funktionen können Parameter akzeptieren. Diese werden in Klammern deklariert,
|
||||
// die aber auch ohne Parameter erforderlich sind.
|
||||
func beyondHello() {
|
||||
var x int // Deklaration einer Variable, muss vor Gebrauch geschehen.
|
||||
x = 3 // Zuweisung eines Werts.
|
||||
@ -99,7 +98,7 @@ Zeilenumbrüche beinhalten.` // Selber Zeichenketten-Typ
|
||||
// "slices" haben eine dynamische Größe. Arrays und Slices haben beide ihre
|
||||
// Vorzüge, aber slices werden viel häufiger verwendet
|
||||
s3 := []int{4, 5, 9} // Vergleichen Sie mit a3, hier: keine Ellipse
|
||||
s4 := make([]int, 4) // Weist Speicher für 4 ints zu, alle mit Initialwert 0
|
||||
s4 := make([]int, 4) // Weist Speicher für 4 ints zu, alle mit Wert 0
|
||||
var d2 [][]float64 // Nur eine Deklaration, keine Speicherzuweisung
|
||||
bs := []byte("eine slice") // Umwandlungs-Syntax
|
||||
|
||||
@ -201,7 +200,8 @@ type pair struct {
|
||||
x, y int
|
||||
}
|
||||
|
||||
// Definiere eine Methode von "pair". Dieser Typ erfüllt jetzt das Stringer interface.
|
||||
// Definiere eine Methode von "pair".
|
||||
// Dieser Typ erfüllt jetzt das Stringer interface.
|
||||
func (p pair) String() string { // p ist der Empfänger
|
||||
// Sprintf ist eine weitere öffentliche Funktion von fmt.
|
||||
// Der Syntax mit Punkt greift auf die Felder zu.
|
||||
@ -255,8 +255,9 @@ func learnConcurrency() {
|
||||
// Die selbe "make"-Funktion wie vorhin. Sie initialisiert Speicher für
|
||||
// maps, slices und Kanäle.
|
||||
c := make(chan int)
|
||||
// Starte drei parallele "Goroutines". Die Zahlen werden parallel (concurrently)
|
||||
// erhöht. Alle drei senden ihr Ergebnis in den gleichen Kanal.
|
||||
// Starte drei parallele "Goroutines".
|
||||
// Die Zahlen werden parallel (concurrently) erhöht.
|
||||
// Alle drei senden ihr Ergebnis in den gleichen Kanal.
|
||||
go inc(0, c) // "go" ist das Statement zum Start einer neuen Goroutine
|
||||
go inc(10, c)
|
||||
go inc(-805, c)
|
||||
@ -306,14 +307,13 @@ func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
```
|
||||
|
||||
## Weitere Resourcen
|
||||
Alles zu Go finden Sie auf der [offiziellen Go Webseite](http://golang.org/).
|
||||
Dort können sie dem Tutorial folgen, interaktiv Quelltext ausprobieren und viel
|
||||
Dokumentation lesen.
|
||||
Informationen zu Go findet man auf der [offiziellen Go Webseite](http://golang.org/).
|
||||
Dort gibt es unter anderem ein Tutorial und interaktive Quelltext-Beispiele, vor
|
||||
allem aber Dokumentation zur Sprache und den Paketen.
|
||||
|
||||
Auch zu empfehlen ist die Spezifikation von Go, die nach heutigen Standards sehr
|
||||
kurz und auch gut verständlich formuliert ist. Auf der Leseliste von Go-Neulingen
|
||||
ist außerdem der Quelltext der [Go standard Bibliothek](http://golang.org/src/pkg/).
|
||||
Gut dokumentiert, demonstriert sie leicht zu verstehendes und im idiomatischen Stil
|
||||
verfasstes Go. Erreichbar ist der Quelltext auch durch das Klicken der Funktionsnamen
|
||||
kurz und gut verständlich formuliert ist. Auf der Leseliste von Go-Neulingen
|
||||
ist außerdem der Quelltext der [Go standard Bibliothek](http://golang.org/src/pkg/)
|
||||
einzusehen. Dieser kann als Referenz für leicht zu verstehendes und im idiomatischen Stil
|
||||
verfasstes Go dienen. Erreichbar ist der Quelltext auch durch das Klicken der Funktionsnamen
|
||||
in der [offiziellen Dokumentation von Go](http://golang.org/pkg/).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user