原创 golang go的性能分析:pprof工具 pprofpprof是GoLang程序性能分析工具,prof是profile(画像)的缩写 .通过pprof,我们可以得到程序执行的以下数据:Profile Descriptions:allocs: 内存分配数据采样信息block:导致同步原语阻塞的堆栈跟踪cmdline:当前程序的命令行调用goroutine: 所有当前goroutine的堆栈跟踪heap: 活动对 2022-11-22 浏览(1) 评论(0) 阅读全文
原创 golang go的return和defer 示例一 defer的固定传参package mainimport "fmt"func main() { fmt.Println("主函数输出:", test())}func test() int { 2022-08-31 浏览(1) 评论(0) 阅读全文
原创 golang go语言map[string]string 转map[string]interface{} var params = make(map[string]string)var requestParams = make(map[string]interface{})for k, v := range params { reques 2022-08-09 浏览(1) 评论(0) 阅读全文
原创 golang go实现grpc通信 准备环境go get google.golang.org/grpcgo get google.golang.org/protobuf代码实现新增 chat/chat.proto 文件:syntax = "proto3";package template;option go_packa 2022-04-22 浏览(1) 评论(0) 阅读全文
原创 golang 链路追踪学习四:gin集成jaeger jaeger工具类:package utilsimport ( "context" "fmt" "github.com/opentracing/opentracing-go" &nbs 2022-04-21 浏览(1) 评论(0) 阅读全文
原创 golang go的上下文(context)研究 引言go的上下文官方说明有点难懂,可能是我太菜了,经过我自己的研究,总结了一下自己的想法context上下文顾名思义,context用于go代码传输上下文信息,例如在方法调用之间传递参数,传递栈信息等,另外可以通过context进行上下文控制.它的最简单的使用方法为:package mainimport ( "contex 2022-04-07 浏览(1) 评论(0) 阅读全文
原创 golang go语言的切片研究 切片sliceGo 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。声明切片package mainimport "fmt"func ma 2022-03-31 浏览(1) 评论(0) 阅读全文
原创 golang go语言获取协程id package mainimport ( "bytes" "fmt" "runtime" "strconv" &n 2022-03-27 浏览(1) 评论(0) 阅读全文
原创 golang go实现程序运行时间 package mainimport ( "fmt" "time")type FuncType func()func main() { time : 2022-03-26 浏览(1) 评论(0) 阅读全文