Source File: ex19/main.go

package main

import (
    "fmt"
)

type CountFunc func() int

func MakeCounter(starting_at int) CountFunc {
    counter := func() int {
        starting_at++
        return starting_at
    }

    return counter
}

func main() {
    from_ten := MakeCounter(10)

    for i := 10; i < 20; i = from_ten() {
        fmt.Println(i)
    }
}