44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# 2024/12/11 日报
|
||
|
||
### 做了什么
|
||
|
||
- **海康私有协议**
|
||
- 设备添加逻辑处理操作增加延迟刷新
|
||
- 解决在添加设备后再立马刷新加载无法添加到内存的问题
|
||
- 使用异步conc map 解决在访问map是的并发问题
|
||
- 完善日志系统
|
||
- 更改重启设备接口的传入参数
|
||
|
||
|
||
### 学到了什么
|
||
|
||
- sync.map的添加,查询,删除,遍历操作
|
||
|
||
- 不能指定键值类型 都是interface类型
|
||
|
||
- ```go
|
||
type test struct{
|
||
name string
|
||
age int
|
||
}
|
||
|
||
func main(){
|
||
var mytest sync.Map
|
||
value , ok := mytest.load("name") //查询
|
||
mytest.Store("string",int) //插入操作
|
||
mytest.delete("string") // 删除
|
||
//遍历
|
||
mytest.Range(func(key,value interface{})){
|
||
|
||
}
|
||
}
|
||
```
|
||
|
||
|
||
- interface类型
|
||
- 主要用于实现多态性 它是一种抽象类型
|
||
- auto[p , q] = ranges::minmax_element(nums); leetcode2717
|
||
- 返回最大值和最小值的下标
|
||
- 如果 p<q,那么 1 和 n 井水不犯河水,1 移动(交换)到数组的最左边,n 移动到数组的最右边,操作次数为 p+(n−1−q)。
|
||
否则 p>q,那么 1 和 n 在移动过程中会相遇,互相穿过对方,也就是只花费一次操作,就让两个数都移动了一步(互相穿过),所以操作次数比上面的情况要少 1,即 p+(n−1−q)−1。
|