package main
import "fmt"
func IDGen(startNum int) func() <-chan int {
ch := make(chan int)
i := startNum
go func() {
for {
ch <- i
i++
}
}()
return func() <-chan int {
return ch
}
}
func main() {
idGen := IDGen(1)
fmt.Println(<-idGen())
fmt.Println(<-idGen())
fmt.Println(<-idGen())
}
솔직히 예전에 인터넷에서 보고 써먹는 중. 보고 이해하는 건 쉬운데, 스스로 이런 아이디어는 안 떠오른다. 머리가 빠가.............
댓글 0