1
0
Fork 0
mirror of https://github.com/vbatts/talks.git synced 2024-12-12 17:58:05 +00:00
talks/2015/02-devconf.cz/primitive3.go
2015-02-06 01:04:10 +01:00

37 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