golang+vue 通过RTSP播放海康威视摄像头画面

  • Post author:
  • Post category:golang

摄像头信息 摄像头型号:DS-2CD3T87WD-L 视频编码配置:H.265 音频编码配置:AAC 这几个应该是主要配置的内容。 后端服务 FFMPEG工具 golang代码 运行代码 package main import ( "fmt" "io" "net/http" "os" "regexp" "github.com/gin-gonic/gin" ) // ffmpeg -i rtsp:/…

继续阅读 golang+vue 通过RTSP播放海康威视摄像头画面

golang中sync.RWMutex和sync.Mutex区别

  • Post author:
  • Post category:golang

golang中sync包实现了两种锁Mutex (互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能. type Mutex func (m *Mutex) Lock() func (m *Mutex) Unlock() type RWMutex func (rw *RWMutex) Lock() func (rw *RWMutex)…

继续阅读 golang中sync.RWMutex和sync.Mutex区别

golang int转byte数组

  • Post author:
  • Post category:golang

文章目录 IntToBytes, BytesToInt AppendVarint IntToBytes, BytesToInt func IntToBytes(a int) ([]byte, error) { if a > math.MaxInt32 { return nil, errors.New(fmt.Sprintf("a>math.MaxInt32, a is %d\n", a…

继续阅读 golang int转byte数组

golang中多种方式设置时区

  • Post author:
  • Post category:golang

关于我 文章首发 | 我的博客 | 欢迎关注 go语言的time.Now()返回的是当地时区时间 time.Now().Format("2006-01-02 15:04:05") time设置自定义时区 var cstSh, _ = time.LoadLocation("Asia/Shanghai") //上海 fmt.Println("SH : ", time.Now().In(cstSh).F…

继续阅读 golang中多种方式设置时区

Golang 中的 Defer 必掌握的 7 知识点

  • Post author:
  • Post category:golang

在用 Golang 开发的时候, defer 这个语法也是必备的知识,但是我们除了知道他是在一个函数退出之前执行,对于 defer 是否还有其他地方需要注意的呢。 本文整理的 defer 的全场景使用情况,转自链接:https://learnku.com/articles/42255#7fa787 提纲如下: 知识点 1: defer 的执行顺序 知识点 2:defer 与 return 谁先谁后…

继续阅读 Golang 中的 Defer 必掌握的 7 知识点

golang并发编程——wg.WaitGroupWrapper

  • Post author:
  • Post category:golang

首先看一段程序: package main import "fmt" func main() { for i := 1; i <= 10; i++ { //并发计算每个数的立方数 go func() { fmt.Println(i * i * i) }() } } 点击运行程序后,发现程序只解结束,没有输出任何内容: 这是因为main函数没有等待刚刚启动的协程结束就提前结束了,而main为主…

继续阅读 golang并发编程——wg.WaitGroupWrapper

使用append之后数组维度消失_Golang重复对一个slice进行append造成数据错误

  • Post author:
  • Post category:golang

slice的属性 切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构。切片并不存储任何元素而只是对现有数组的引用。 切片的长度是指切片中元素的个数。切片的容量是指从切片的起始元素开始到其底层数组中的最后一个元素的个数。 那么问题来了,几个不同的切片指向同一个数组,如果数组的值被改变会出现什么神奇的操作? 问题实例 slice的cap是怎么增长的 参考文章:How does Go …

继续阅读 使用append之后数组维度消失_Golang重复对一个slice进行append造成数据错误

Golang 中的 map 为什么是并发不安全的?

  • Post author:
  • Post category:golang

文章目录 Golang 中的 map 为什么是并发不安全的? 一、并发不安全的 二、并发场景 三、实现 map 并发安全 方式一:使用读写互斥锁 map + sync.RWMutex 方式二:使用 go 提供的 sync.Map 两种方式的比较 Golang 中的 map 为什么是并发不安全的? 一、并发不安全的 golang 中的 map 是并发不安全的,多个 go 协程同时对同一个 map 进…

继续阅读 Golang 中的 map 为什么是并发不安全的?

数字证书和golang的研究

  • Post author:
  • Post category:golang

数字证书和golang的研究 在go语言提供的系统包中包含了大量和数字证书有关的方法。在这些方法中就有私钥生成的方法、私钥解析的方法、证书请求生成的方法、证书生成的方法等等。通过这些方法应该能够实现和openssl命令类似的功能。 仿照openssl生成证书的流程(从私钥的生成—>证书请求的生成—>证书的生成)用go语言进行模拟。 私钥的生成 在go的x509包下有go定义的证书的结构…

继续阅读 数字证书和golang的研究

golang 微信小程序 内容检测 图片检测 内容安全

  • Post author:
  • Post category:golang

最近有个小程序的项目之前用的阿里云的内容检测,更新之后一直通不过检测,评估之后定位原因应该是小程序有一些特殊的测试用例,阿里云的内容检测检测不到(推测),所以换成微信内容检测/图片检测。说明写在代码注释中 内容检测 文档地址: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/securi…

继续阅读 golang 微信小程序 内容检测 图片检测 内容安全