package main
import (
"fmt"
"sync"
)
// 模拟查询单个商品库存的函数
func queryStock(商品ID int, wg *sync.WaitGroup, resultChan chan int) {
defer wg.Done()
// 这里模拟实际的库存查询逻辑,简单返回商品ID作为库存数量
resultChan <- 商品ID
}
func main() {
var wg sync.WaitGroup
resultChan := make(chan int)
商品IDs := []int{1, 2, 3, 4, 5}
for _, 商品ID := range 商品IDs {
wg.Add(1)
go queryStock(商品ID, &wg, resultChan)
}
go func() {
wg.Wait()
close(resultChan)
}()
totalStock := 0
for stock := range resultChan {
totalStock += stock
}
fmt.Printf("所有商品库存总和: %d\n", totalStock)
}