mirror of
https://github.com/vbatts/talks.git
synced 2024-11-16 13:38:38 +00:00
38 lines
533 B
Go
38 lines
533 B
Go
|
// +build ignore
|
||
|
|
||
|
package main
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
func main() {
|
||
|
// START1 OMIT
|
||
|
fmt.Println("I've got:")
|
||
|
for card := range ReadEmAndWeep() {
|
||
|
fmt.Printf(" %s of %s\n", card.Value, card.Suite)
|
||
|
}
|
||
|
// STOP1 OMIT
|
||
|
}
|
||
|
|
||
|
type Card struct {
|
||
|
Suite, Value string
|
||
|
}
|
||
|
|
||
|
// START2 OMIT
|
||
|
func ReadEmAndWeep() <-chan Card {
|
||
|
c := make(chan Card)
|
||
|
go func() {
|
||
|
for _, card := range []Card{
|
||
|
Card{"Ace", "Jack"},
|
||
|
Card{"Ace", "Queen"},
|
||
|
Card{"Ace", "King"},
|
||
|
Card{"Ace", "Ace"},
|
||
|
} {
|
||
|
c <- card
|
||
|
}
|
||
|
close(c)
|
||
|
}()
|
||
|
return c
|
||
|
}
|
||
|
|
||
|
// STOP2 OMIT
|