github.com/makiuchi-d/gozxing // uploadFile func uploadFile(c echo.Context) (error, string) { file, err := c.FormFile("qr_code") if err != nil { return err, "" ...
Go
Go 编写开机自启动服务
需要用到的包 github.com/kardianos/service package main import ( "fmt" "os" "sync" "github.com/kardianos/service" ) type program struct { ...
Go操作nutsdb
nutsdb简介 NutsDB是纯Go语言编写一个简单、高性能、内嵌型、持久化的key-value数据库。 NutsDB支持事务,从v0.2.0之后的版本开始支持ACID的特性,建议使用最新的release版本。v0.2.0之前的版本,保持高性能,没...
体验golang1.18泛型
因为本机跑的是go1.17,想体验一下go1.18泛型。随决定采用docker方式 docker pull golang docker run -itd -p 8001:8001 -v /Users/cc/docker/golang1.18:/go --name golang-1.18 golang docker exec -it golan...
Go语言之CGO
站在巨人的肩膀上写代码 c/c++作为老大哥,积累了很多优秀的库。Go语言提供了CGO工具支持C语言函数调用,同时也可以将Go语言导出C动态库给其他语言使用。 Go语言如何导出C语言动态库 CGO在使用C/C++资源的时...
Go 实现分布式锁
1. 基于redis 的 setnx package main import ( "fmt" "sync" "time" "github.com/go-redis/redis" ) func incr() { client := redis.NewClient(...
Go面向并发的内存模型
1.闲聊 在远古时期cpu都是以单核的形式执行机器的指令。随着科技和时代的进步,单核无法满足人类日益贪婪的需求,于是多核cpu应用而生。编程语言也不甘示弱,开始利用多核cpu的优势逐渐走向了并行的方向。 Go语言...
Golang操作RabbitMQ详细教程
简介 RabbitMQ 是一个实现了高级消息队列协议(AMQP)的开源消息代理中间件。 俗称消息队列 基本组件 Connection 连接. 使用MQ之前需要建立连接 Producer 生产者 Consumer 消费者 Broker 服务器实例 管理...
Go 时间处理
1. 时间戳转日期格式 时间戳为int64 s := time.Now().Unix() date := time.Unix(s, 0).Format("2006-01-02 15:04:05") fmt.Println(date) 2. 日期格式转时间戳 date := "2022-07-14 11:00:00&qu...
基于 echo+websocket+html+js 实现的聊天demo
基于 echo+websocket+html+js 实现的聊天demo 代码github地址: echo-websocket-chat 喜欢的可以帮忙点个star哦~ WebSocket包 gorilla/websocket 运行 go run main.go 打开浏览器 localhost:9999 效果