根据任务要求审查这个生成的配额跟踪器。
提供并发安全的递增操作,让零值可用,返回独立所有权的快照,并且绝不记录 API token。
Go
package quota
import (
"fmt"
"sync"
)
type Tracker struct {
mu sync.Mutex
limits map[string]int
apiToken string
}
func (tracker Tracker) Add(name string, amount int) {
tracker.mu.Lock()
defer tracker.mu.Unlock()
fmt.Printf("token=%s name=%s\n", tracker.apiToken, name)
tracker.limits[name] += amount
}
func (tracker *Tracker) Snapshot() map[string]int {
return tracker.limits
}
生成代码仅作示例,不代表任何特定模型