
golang
文章平均质量分 63
golang
Alex_z0897
用结果去验证猜疑!!!
展开
-
速查表之各种编程语言小数|时间|base64等操作
在各种语言之间切换,这时候好记性不如烂笔头. 整理下各种语言四舍五入小数的处理, 字符串与时间互相换转,base等相关操作,原创 2022-05-18 09:44:06 · 435 阅读 · 0 评论 -
速查表之go pprof使用
go pprof 基本使用https://go-zh.org/pkg/net/http/pprof/全记录【实践】WINDOWS下GOlang性能测试分析工具PProf&GO torch入门指导"net/http"_ "net/http/pprof"go func() { log.Log(http.ListenAndServe("0.0.0.0:8000", nil))}()go tool pprof -http=:8088 http://192.168.0.4:8000/原创 2020-09-02 17:32:34 · 166 阅读 · 0 评论 -
grpc(golang)支持http(gRpc-Gateway)
步骤介绍通过openssl生成密钥公钥服务端代码,客户端代码通过gomod拉取代码所用的库编译proto文件,分为两步->go_out运行服务端代码通过http(post)访问,通过grpc client访问目录结构.├── Makefile├── client│ └── main.go├── go.mod├── go.sum├── keys│ ├── server.crt│ └── server.key├── proto│ ├── gatewa原创 2020-07-26 15:34:29 · 1393 阅读 · 0 评论 -
etcd源码raft
创建etcdserver创建一个etcdserver的实例etcdserver.NewServer启动服务e.Server.Start()etcd/embed/etcd.gofunc StartEtcd(inCfg *Config) (e *Etcd, err error) { …省略其它代码 if e.Server, err = etcdserver.NewServer(srvcfg); err != nil { return e, err } …省原创 2020-06-20 16:04:43 · 440 阅读 · 0 评论 -
go channel通信
go知识整理之后go channel在改go-mysql-elasticsearch项目的的代码的时候,golang对不同的goroutine之间的数据传递可以做到这么简单,先贴一段代码这是一个main的主循环func (r *River) syncLoop() {//River里封装了所有需要被使用的信息 bulkSize := r.c.BulkSize if bulkSize ==...原创 2020-05-03 13:30:19 · 1009 阅读 · 0 评论 -
go interface之net/http.ServeMux多路复用器
go系列知识整理之interface在go的源代码中,gomicro源码,etcd源码,随处可见的这种写法,需要扩展的时候,可以重新实现一个接口,只能函数名与之保持一致,就会被编译器识别package mainimport ( "encoding/json" "fmt" "reflect" "testing" "time")//Animal 类型是一个接口,我们将定义一...原创 2020-05-03 12:49:34 · 767 阅读 · 0 评论 -
go goroutine调度
学习go语言的第一步,先得尝试着去理解goroutine的"生命周期"看了一些go的源码,goroutine并不能被称协程,它是可以管理多线程的,先解释下面图中GPM模型G(G1,G2 …) : 当前被任务(当前排队中的任务)M: 对应操作系统层面的线程P: 可以定义P的数量,每个P对应管理着一个M先不管goroutine是从哪里来的,现在权当它是被go func(第二个gorout...原创 2020-04-29 23:31:52 · 237 阅读 · 0 评论 -
go:垃圾回收GC触发条件
写在最开始:go version go1.13 darwin/amd64在go源码runtime目录中找到gcTrigger结构体,就能看出大致调用的位置GC调用方式所在位置代码定时调用runtime/proc.go:forcegchelper()gcStart(gcTrigger{kind: gcTriggerTime, now: nanotime()})分...原创 2020-01-26 22:16:00 · 4846 阅读 · 0 评论 -
visual studio code(vscode)gomodules代码跳转
https://www.jianshu.com/p/c30dfb5b8df8settings->搜索 docsTool->Go: Docs Tool 改为gogetdoc提示下载gogetdocgo get -u -v github.com/zmb3/gogetdocsettings->搜索 use language server->Go: Use Langu...原创 2020-01-05 13:57:53 · 2484 阅读 · 0 评论 -
go:反射传参[]interface{}获取实际类型
根据传参进行解析并进行动态赋值,不需要知道原sturct是什么类型比如实现的一个数据库字段动态解析就可以用到import ( "fmt" "reflect")func ref(res interface{}){ getType := reflect.TypeOf(res) getValue := reflect.ValueOf(res) // getElem := res.Ty...原创 2019-11-24 19:35:34 · 4968 阅读 · 0 评论