随笔分类 - Go
摘要:import ( "context" "encoding/json" "fmt" "github.com/elastic/go-elasticsearch/v8" "github.com/elastic/go-elasticsearch/v8/esapi" "github.com/elastic/g
阅读全文
摘要:package main import ( "fmt" "sync" ) var wg sync.WaitGroup func main() { evenCh, oddCh := make(chan bool, 1), make(chan bool, 1) defer close(evenCh) d
阅读全文
摘要:mongo自行安装 package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "log" "go.mongodb.org/
阅读全文
摘要:它是一个高性能的 JSON 解析库,具有更快的解析速度和更低的内存消耗 go get github.com/bytedance/sonic package main import ( "fmt" "github.com/bytedance/sonic" ) type Person struct {
阅读全文
摘要:安装第三方包 go get github.com/tus/tusd/v2 package main import ( "fmt" "net/http" "github.com/tus/tusd/v2/pkg/filestore" tusd "github.com/tus/tusd/v2/pkg/ha
阅读全文
摘要:Fiber是一个基于Fasthttp(Go最快的HTTP引擎)构建的Go Web框架。它旨在简化零内存分配和性能的情况,以便快速开发,比Gin框架快10倍 官网地址 https://docs.gofiber.io/ package main import ( "log" "github.com/go
阅读全文
摘要:本示例只是demo,没有接入mysql,功能可以参考 https://github.com/idMiFeng/online_shopping_service rocketmq自行安装 PS:commit之后,证明分布式事务没有成功/或者成功,需要消费者监听回滚/或者提交。rollback则消息会扔掉
阅读全文
摘要:官网demo地址 https://github.com/kubernetes/client-go/blob/master/examples 新建mian.go代码 package main import ( "context" "flag" "fmt" "log" "path/filepath" m
阅读全文
摘要:什么是Socket.IO? Socket.io是建立在 WebSocket 之上的一个实时应用程序框架。它封装了 WebSocket,并提供了更高级别的接口, 包括实时事件处理、自动重新连接、多房间支持等功能。Socket.IO 在客户端和服务器端分别有对应的库,简化了实时通信的开发。 go pac
阅读全文
摘要:EventSource 是 HTML5 中一个强大的 API,提供了简单可靠的服务器推送机制,用于实现实时通信。 与 WebSocket 相比,EventSource 的优势在于其简单易用、自动重连、轻量级和跨域支持。 然而,它也有一些限制,如单向通信和较低的浏览器支持。 相比之下,WebSocke
阅读全文
摘要:安装 go get github.com/google/wire/cmd/wire@latest 一.假设需要定义多个有依赖的启动项,新建main.go package main import ("fmt") type Message string func NewMessage() Message
阅读全文
摘要:package main import ( "fmt" "sync" ) // 三个协程交替打印 cat dog fish var repeatCount = 10 var wg = sync.WaitGroup{} func main() { // wg 用来防止主协程提前先退出 wg.Add(3
阅读全文
摘要:方式1 package main import ( "fmt" "net/http" ) // 中间件函数类型 type MiddlewareFunc func(http.HandlerFunc) http.HandlerFunc // 自定义中间件1 func LoggerMiddleware(n
阅读全文
摘要:上篇文章写了基础版本 https://www.cnblogs.com/qcy-blog/p/18009202 官网有个工具buf可以自动生成 https://github.com/bufbuild/buf/releases 按照自己的平台下载对应的文件,并把可执行文件加入到环境变量下 proto同级
阅读全文
摘要:时间久了不用就会忘记指令,这里做个笔记. https://github.com/grpc-ecosystem/grpc-gateway 创建一个文件 // +build tools package tools import ( _ "github.com/grpc-ecosystem/grpc-ga
阅读全文
摘要:先从一段代码看起,下面这个代码是将传入的对象转换成 JSON string并返回回去,其中,如果判断 i==nil 时,会返回""。 func ToJSONString(i interface{}) string { if i == nil { return "" } bytes, _ := jso
阅读全文
摘要:官方示例 package main import ( "fmt" "github.com/panjf2000/ants/v2" "sync" "sync/atomic" "time" ) var sum int32 func myFunc(i interface{}) { n := i.(int32
阅读全文
摘要:package main import ( "fmt" "sync" ) type Task struct { f func() error } var wg sync.WaitGroup type Pool struct { //任务通道 JobQueue chan Task //worker通道
阅读全文
摘要:普通版,发完就退出 package main import ( "fmt" "log" "sync" "time" "github.com/gorilla/websocket" ) func main() { // 设置要压测的WebSocket服务地址 url := "ws://192.168.2
阅读全文

浙公网安备 33010602011771号