zhaowei/20241211 日报.md
2024-12-11 18:00:59 +08:00

1.4 KiB
Raw Permalink Blame History

2024/12/11 日报

做了什么

  • 海康私有协议
    • 设备添加逻辑处理操作增加延迟刷新
    • 解决在添加设备后再立马刷新加载无法添加到内存的问题
    • 使用异步conc map 解决在访问map是的并发问题
    • 完善日志系统
    • 更改重启设备接口的传入参数

学到了什么

  • sync.map的添加查询删除遍历操作

    • 不能指定键值类型 都是interface类型

    • 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+(n1q)。 否则 p>q那么 1 和 n 在移动过程中会相遇,互相穿过对方,也就是只花费一次操作,就让两个数都移动了一步(互相穿过),所以操作次数比上面的情况要少 1即 p+(n1q)1。