Go
文章平均质量分 60
May Hacker
无所谓才能无所畏!我会变得更强!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Please specify a program using absolute path or make sure the program is available in your PATH syst
问题描述Please specify a program using absolute path or make sure the program is available in your PATH system variable思路缺少protoc-gen-go插件解决下载protobufgit clone https://github.com/golang/protobuf.gitcd到protobuf/protoc-gen-go/,执行go build 和go install 即可,g原创 2022-01-19 12:03:34 · 3420 阅读 · 0 评论 -
聊一聊Go中的GMP调度模型
调度模型的由来早期操作系统是单进程的,那么执行进程只能是顺序执行的顺序执行,效率比较低当前进程的阻塞会带来CPU浪费,因为CPU没办法处理后面待处理的进程后来出现了多进程操作系统,多进程处理下,会涉及到基于CPU调度器对进程分配时间片,宏观上三个进程在并发,实际还是顺序执行,这么看来,解决了进程阻塞带来对CPU浪费但是这种方式会带来进程切换成本(进程切换涉及到拷贝复制)的浪费。当进程数量越多,切换成本也就越浪费,CPU的一部分浪费在了切换上。除此之外,进程和线程占用内存是很大的,进程虚拟原创 2022-01-18 16:18:00 · 2071 阅读 · 0 评论 -
gRPC 概述
文章目录前言GRPC四种服务类型UnaryClient-side StreamingServer-side StreamingBidirectional Streaming前言grpc是基于HTTP2.0实现的性能良好的RPC框架,使用的IDL(接口描述语言)是Protobuf。关于Protobuf可参见为什么protobuf这么快GRPC四种服务类型Unary常见的客户端发起请求,服务端应答模式Client-side Streaming用户以流的形式发起请求,源源不断,服务端再返回一次响应原创 2021-11-24 15:47:25 · 923 阅读 · 0 评论 -
Go-kit 自定义异常错误处理
前言在go的默认错误实现中,任何异常错误都会返回500,实际项目中我们需要根据异常的不同去设置code的不同一、自定义Error处理器package ErrorHandlerimport ( "context" "net/http")type MyError struct{ Code int Message string}func NewMyError(code int, msg string) error { return &MyError{Code: cod原创 2021-11-20 16:53:45 · 1482 阅读 · 0 评论 -
限流算法—go rate 包
文章目录前言代码解释WaitN方法代码示例AllowN方法实战限流整合到Go-kit微服务前言一直是微服务中比较重要的一点,常见的有令牌桶和漏桶算法两种。Go内置的rate包,提供了令牌桶的实现,以此来实现限流下面给出使用rate包实现限流的代码示例及解释。代码解释r := rate.NewLimiter(1, 5) 第一个参数是每秒生成的令牌个数,第二个参数是初始的令牌个数WaitN方法err := r.WaitN(ctx, 2)waitN方法,第二个参数表示执行一次业务逻辑需要消原创 2021-11-20 16:21:11 · 1184 阅读 · 0 评论 -
为什么protobuf这么快
文章目录一、前言二、protobuf优点压缩率高解析快总结一、前言protobuf全称protocol buffers,是一种语言无关、平台无关、可扩展的序列化结构数据方法。在用途上,与JSON/XML类似。二、protobuf优点压缩率高解析快多语言支持压缩率高protobuf基于接口描述语言IDL(Interface Description Language)实现消息结构的定义,传输数据的两端都需要定义该消息结构,并保存在.proto文件中,这样就不需要在消息数据中定义结构信息,自原创 2021-11-11 17:18:06 · 4591 阅读 · 0 评论 -
cannot find module providing package github.com/gin-gonic/gin: 安装gin后找不到gin包
使用代理下载gin后,出现了找不到包的问题,后来发现若使用代理,他会去pkg包下找依赖。解决在使用 GOPROXY 的时候,开启了 GO111MODULE,导致包管理非官方所说的在 $GOPATH\src\,而是去了 $GOPATH\src\pkg\目录下,此时就需要用go mod引入这些包 require github.com/gin-gonic/gin@latest ,解决import获取不了包的问题。也就是运行以下两条命令 go mod init gin go mod edit -r原创 2020-07-26 13:09:22 · 12456 阅读 · 10 评论 -
Go 安装 gin 速度慢解决方案(Windows下使用阿里云代理)
修改代理,也就是使用阿里云代理下载go env -w GO111MODULE=ongo env -w GOPROXY=https://mirrors.aliyun.com/goproxy/再次安装gingo get -u github.com/gin-gonic/gin可以看到速度很快就安装成功了。原创 2020-07-26 12:48:15 · 2418 阅读 · 0 评论 -
转职GoLang工程师—Go语法学习总结
Java转职GO原创 2020-07-26 10:54:52 · 476 阅读 · 0 评论 -
idea 搭建go语言环境(提供百度云下载)
一、安装go环境外网较慢,还好我有vpn,可以直接从百度云下。链接: https://pan.baidu.com/s/1-NfvcBVjdptQmN32yu1-bw 提取码: dye4idea安装go插件二、创建项目在setting里 修改Gopath,取消“默认系统xxx”选项新建project创建src目录创建go file输出...原创 2020-07-26 10:44:25 · 706 阅读 · 0 评论
分享