以下为对 BatchUpload 的并发安全访问器,避免包外直接访问未导出字段 mu GetFileUpload 安全地获取单个文件的副本(只读取指针,不深拷贝 FileUpload)
(fileID string)
| 542 | |
| 543 | // GetFileUpload 安全地获取单个文件的副本(只读取指针,不深拷贝 FileUpload) |
| 544 | func (b *BatchUpload) GetFileUpload(fileID string) (*FileUpload, bool) { |
| 545 | b.mu.RLock() |
| 546 | defer b.mu.RUnlock() |
| 547 | fu, ok := b.Files[fileID] |
| 548 | return fu, ok |
| 549 | } |
| 550 | |
| 551 | // GetFilesCopy 返回一份 batch.Files 的浅拷贝(map 副本),以便在其它包中安全遍历 |
| 552 | func (b *BatchUpload) GetFilesCopy() map[string]*FileUpload { |
no outgoing calls
no test coverage detected