33. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!33
http://slides.games-with-brains.net/
34. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!34
http://slides.games-with-brains.net/
35. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!35
http://slides.games-with-brains.net/
36. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!36
http://slides.games-with-brains.net/
37. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!37
http://slides.games-with-brains.net/
38. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!38
http://slides.games-with-brains.net/
48. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
for i, v := range s.([]int) {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!48
http://slides.games-with-brains.net/
49. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
for i, v := range s.([]int) {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!49
http://slides.games-with-brains.net/
50. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
for i, v := range s.([]int) {
Printf("%v: %vn", i, v)
}
}
Going Loopy
!50
http://slides.games-with-brains.net/
51. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
if s, ok := s.([]int); ok {
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!51
http://slides.games-with-brains.net/
52. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
if s, ok := s.([]int); ok {
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!52
http://slides.games-with-brains.net/
53. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
if s, ok := s.([]int); ok {
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!53
http://slides.games-with-brains.net/
54. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
if s, ok := s.([]int); ok {
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!54
http://slides.games-with-brains.net/
55. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
if s, ok := s.([]int); ok {
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!55
http://slides.games-with-brains.net/
56. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
if s, ok := s.([]int); ok {
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!56
http://slides.games-with-brains.net/
57. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
switch s := s.(type) {
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!57
http://slides.games-with-brains.net/
58. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
switch s := s.(type) {
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!58
http://slides.games-with-brains.net/
59. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
switch s := s.(type) {
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!59
http://slides.games-with-brains.net/
60. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
switch s := s.(type) {
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!60
http://slides.games-with-brains.net/
61. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
switch s := s.(type) {
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!61
http://slides.games-with-brains.net/
62. package main
import . "fmt"
!
func main() {
print_slice([]int{0, 2, 4, 6, 8})
}
!
func print_slice(s interface{}) {
switch s := s.(type) {
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!62
http://slides.games-with-brains.net/
75. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!75
http://slides.games-with-brains.net/
76. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!76
http://slides.games-with-brains.net/
77. package main
import . "fmt"
!
func main() {
c := make(chan int, 16)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!77
http://slides.games-with-brains.net/
78. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!78
http://slides.games-with-brains.net/
79. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!79
http://slides.games-with-brains.net/
80. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!80
http://slides.games-with-brains.net/
81. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!81
http://slides.games-with-brains.net/
82. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!82
http://slides.games-with-brains.net/
83. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!83
http://slides.games-with-brains.net/
84. package main
import . "fmt"
!
func main() {
c := make(chan int)
go func() {
for _, v := range []int{0, 2, 4, 6, 8} {
c <- v
}
close(c)
}()
Printf("elements: %vn", print_channel(c))
}
!
func print_channel(c chan int) (i int) {
for v := range c {
Printf("%v: %vn", i, v)
i++
}
return
}
Going Loopy
!84
http://slides.games-with-brains.net/
86. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] * 2 })
}
!
func print_values(s interface{}) {
switch s := s.(type) {
case func(int) int:
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s(i))
}
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!86
http://slides.games-with-brains.net/
87. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] * 2 })
}
!
func print_values(s interface{}) {
switch s := s.(type) {
case func(int) int:
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s(i))
}
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!87
http://slides.games-with-brains.net/
88. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] * 2 })
}
!
func print_values(s interface{}) {
switch s := s.(type) {
case func(int) int:
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s(i))
}
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!88
http://slides.games-with-brains.net/
89. package main
import . "fmt"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] * 2 })
}
!
func print_values(s interface{}) {
switch s := s.(type) {
case func(int) int:
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s(i))
}
case []int:
for i, v := range s {
Printf("%v: %vn", i, v)
}
}
}
Going Loopy
!89
http://slides.games-with-brains.net/
90. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface{})
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i))
}
}
}
Going Loopy
!90
http://slides.games-with-brains.net/
91. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface{})
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i))
}
}
}
Going Loopy
!91
http://slides.games-with-brains.net/
92. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!92
http://slides.games-with-brains.net/
93. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!93
http://slides.games-with-brains.net/
94. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!94
http://slides.games-with-brains.net/
95. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!95
http://slides.games-with-brains.net/
96. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!96
http://slides.games-with-brains.net/
97. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!97
http://slides.games-with-brains.net/
98. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!98
http://slides.games-with-brains.net/
99. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!99
http://slides.games-with-brains.net/
100. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!100
http://slides.games-with-brains.net/
101. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!101
http://slides.games-with-brains.net/
102. package main
import . "fmt"
import . "reflect"
!
func main() {
s := []int{0, 2, 4, 6, 8}
print_values(s)
print_values(func(i int) int { return s[i] })
}
!
func print_values(s interface{}) {
switch s := ValueOf(s); s.Kind() {
case Func:
p := []Value{ ValueOf(i) }
for i := 0; i < 5; i++ {
Printf("%v: %vn", i, s.Call(p)[0].Interface())
}
case Slice:
for i := 0; i < s.Len(); i++ {
Printf("%v: %vn", i, s.Index(i).Interface())
}
}
}
Going Loopy
!102
http://slides.games-with-brains.net/