mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
commit
82deb66194
@ -25,7 +25,7 @@ aktive Community.
|
|||||||
zeiliger Kommentar */
|
zeiliger Kommentar */
|
||||||
|
|
||||||
// Eine jede Quelldatei beginnt mit einer Paket-Klausel.
|
// Eine jede Quelldatei beginnt mit einer Paket-Klausel.
|
||||||
// "main" ist ein besonderer Pkaetname, da er ein ausführbares Programm
|
// "main" ist ein besonderer Paketname, da er ein ausführbares Programm
|
||||||
// einleitet, im Gegensatz zu jedem anderen Namen, der eine Bibliothek
|
// einleitet, im Gegensatz zu jedem anderen Namen, der eine Bibliothek
|
||||||
// deklariert.
|
// deklariert.
|
||||||
package main
|
package main
|
||||||
@ -38,7 +38,7 @@ import (
|
|||||||
"strconv" // Zeichenkettenmanipulation
|
"strconv" // Zeichenkettenmanipulation
|
||||||
)
|
)
|
||||||
|
|
||||||
// Es folgt die Definition einer Funktions, in diesem Fall von "main". Auch hier
|
// Es folgt die Definition einer Funktion, in diesem Fall von "main". Auch hier
|
||||||
// ist der Name wieder besonders. "main" markiert den Eintrittspunkt des
|
// ist der Name wieder besonders. "main" markiert den Eintrittspunkt des
|
||||||
// Programms. Vergessen Sie nicht die geschweiften Klammern!
|
// Programms. Vergessen Sie nicht die geschweiften Klammern!
|
||||||
func main() {
|
func main() {
|
||||||
@ -56,7 +56,7 @@ func beyondHello() {
|
|||||||
var x int // Deklaration einer Variable, muss vor Gebrauch geschehen.
|
var x int // Deklaration einer Variable, muss vor Gebrauch geschehen.
|
||||||
x = 3 // Zuweisung eines Werts.
|
x = 3 // Zuweisung eines Werts.
|
||||||
// Kurze Deklaration: Benutzen Sie ":=", um die Typisierung automatisch zu
|
// Kurze Deklaration: Benutzen Sie ":=", um die Typisierung automatisch zu
|
||||||
// folgern, die Variable zu deklarieren und ihr einen Wert zu zuweisen.
|
// folgern, die Variable zu deklarieren und ihr einen Wert zuzuweisen.
|
||||||
y := 4
|
y := 4
|
||||||
|
|
||||||
// Eine Funktion mit mehreren Rückgabewerten.
|
// Eine Funktion mit mehreren Rückgabewerten.
|
||||||
@ -147,7 +147,7 @@ func learnFlowControl() {
|
|||||||
if false {
|
if false {
|
||||||
// nicht hier
|
// nicht hier
|
||||||
} else {
|
} else {
|
||||||
// sonder hier! spielt die Musik
|
// sondern hier! spielt die Musik
|
||||||
}
|
}
|
||||||
|
|
||||||
// Benutzen Sie ein "switch" Statement anstatt eine Anreihung von if-s
|
// Benutzen Sie ein "switch" Statement anstatt eine Anreihung von if-s
|
||||||
@ -166,7 +166,7 @@ func learnFlowControl() {
|
|||||||
// Ab hier gilt wieder: x == 1
|
// Ab hier gilt wieder: x == 1
|
||||||
|
|
||||||
// For ist die einzige Schleifenform in Go, sie hat aber mehrere Formen:
|
// For ist die einzige Schleifenform in Go, sie hat aber mehrere Formen:
|
||||||
for { // Endloschleife
|
for { // Endlosschleife
|
||||||
break // nur ein Spaß
|
break // nur ein Spaß
|
||||||
continue // wird nie ausgeführt
|
continue // wird nie ausgeführt
|
||||||
}
|
}
|
||||||
@ -263,10 +263,10 @@ func learnConcurrency() {
|
|||||||
// Auslesen und dann Ausgeben der drei berechneten Werte.
|
// Auslesen und dann Ausgeben der drei berechneten Werte.
|
||||||
// Man kann nicht im voraus feststellen in welcher Reihenfolge die Werte
|
// Man kann nicht im voraus feststellen in welcher Reihenfolge die Werte
|
||||||
// ankommen.
|
// ankommen.
|
||||||
fmt.Println(<-c, <-c, <-c) // mit dem Kannal rechts ist <- der Empfangs-Operator
|
fmt.Println(<-c, <-c, <-c) // mit dem Kanal rechts ist <- der Empfangs-Operator
|
||||||
|
|
||||||
cs := make(chan string) // ein weiterer Kannal, diesmal für strings
|
cs := make(chan string) // ein weiterer Kanal, diesmal für strings
|
||||||
cc := make(chan chan string) // ein Kannal für string Kannäle
|
cc := make(chan chan string) // ein Kanal für string Kanäle
|
||||||
|
|
||||||
// Start einer neuen Goroutine, nur um einen Wert zu senden
|
// Start einer neuen Goroutine, nur um einen Wert zu senden
|
||||||
go func() { c <- 84 }()
|
go func() { c <- 84 }()
|
||||||
@ -283,7 +283,7 @@ func learnConcurrency() {
|
|||||||
fmt.Println("wird nicht passieren.")
|
fmt.Println("wird nicht passieren.")
|
||||||
}
|
}
|
||||||
// Hier wird eine der beiden Goroutines fertig sein, die andere nicht.
|
// Hier wird eine der beiden Goroutines fertig sein, die andere nicht.
|
||||||
// Sie wird warten bis der Wert den sie sendet von dem Kannal gelesen wird.
|
// Sie wird warten bis der Wert den sie sendet von dem Kanal gelesen wird.
|
||||||
|
|
||||||
learnWebProgramming() // Go kann es und Sie hoffentlich auch bald.
|
learnWebProgramming() // Go kann es und Sie hoffentlich auch bald.
|
||||||
}
|
}
|
||||||
@ -301,7 +301,7 @@ func learnWebProgramming() {
|
|||||||
// Methode implementieren: ServeHTTP
|
// Methode implementieren: ServeHTTP
|
||||||
func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
// Senden von Daten mit einer Methode des http.ResponseWriter
|
// Senden von Daten mit einer Methode des http.ResponseWriter
|
||||||
w.Write([]byte("Sie habe Go in Y Minuten gelernt!"))
|
w.Write([]byte("Sie haben Go in Y Minuten gelernt!"))
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user