This commit is contained in:
wagslane
2023-05-01 15:25:27 -06:00
parent f8912668b8
commit 9be3074de6
868 changed files with 58698 additions and 2 deletions

View File

@@ -0,0 +1,47 @@
package main
import (
"fmt"
"time"
)
func countReports(numSentCh chan int) int {
total := 0
for {
numSent, ok := <-numSentCh
if !ok {
break
}
total += numSent
}
return total
}
// TEST SUITE - Don't touch below this line
func test(numBatches int) {
numSentCh := make(chan int)
go sendReports(numBatches, numSentCh)
fmt.Println("Start counting...")
numReports := countReports(numSentCh)
fmt.Printf("%v reports sent!\n", numReports)
fmt.Println("========================")
}
func main() {
test(3)
test(4)
test(5)
test(6)
}
func sendReports(numBatches int, ch chan int) {
for i := 0; i < numBatches; i++ {
numReports := i*23 + 32%17
ch <- numReports
fmt.Printf("Sent batch of %v reports\n", numReports)
time.Sleep(time.Millisecond * 100)
}
close(ch)
}