Golang技巧之默认值的设置(转载)
最近使用 GRPC 发现一个设计特别好的地方,非常值得借鉴。 我们在日常写方法的时候,希望给某个字段设置一个默认值,不需要定制化的场景就不传这个参数,但是 Golang 却没有提供像 PHP、Python 这种动态语言设置方法参数默认值的能力。 低阶玩家应对默认值问题 以一个购物车举例。比如我有下面这样一个购物车的结构体,其中 … 阅读更多 »Golang技巧之默认值的设置(转载)
最近使用 GRPC 发现一个设计特别好的地方,非常值得借鉴。 我们在日常写方法的时候,希望给某个字段设置一个默认值,不需要定制化的场景就不传这个参数,但是 Golang 却没有提供像 PHP、Python 这种动态语言设置方法参数默认值的能力。 低阶玩家应对默认值问题 以一个购物车举例。比如我有下面这样一个购物车的结构体,其中 … 阅读更多 »Golang技巧之默认值的设置(转载)
1. logrus Logrus is a structured logger for Golang 1.1. 获取logrus
1 |
go get github.com/sirupsen/logrus |
注意: 作者最近将这个包转移到了sirupsen/logrus里面,但是之前的名字是Sirupsen/logrus,所以在使用其他ho… 阅读更多 »Golang Logrus的使用(转载)
1. 问题描述 对于不同的package,有些可能在proto3环境下编译,有些可能是proto2.因此会造成编译失败,报错等问题。 2. 解决办法 卸载原有版本,安装新版本。 在保留安装源码的前提下,只需要几行命令便可以快速切换。 具体步骤: 首先protoc –version 查询本机版本。假设从protoc2更换到pro… 阅读更多 »protoc版本更换(转载)
1. 前置条件 Go Protocol buffer编译器:protoc,安装可参考Protocol buffer编译安装 Go 协议编译插件 下载并安装编译插件,这里确保已配置代理可以下载。
1 2 3 4 5 |
$ export GO111MODULE=on # Enable module mode $ go get google.golang.org/protobuf/cmd/protoc-gen-go \ google.golang.org/grpc/cmd/protoc-gen-go-grpc #在所在项目中,执行以下命令可指定版本 #go get github.com/golang/protobuf/protoc-gen-go@v1.0.0 |
添加路径到环境变量,使得protoc编译其可找到go编译插件 [cra… 阅读更多 »gRPC的Golang编译及简单使用
从https://github.com/protocolbuffers/protobuf/releases下载protoc(如:Windows则下载protoc-3.6.1-win32.zip)。protoc命令位于bin目录下。
1 |
cd ~ && wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.8/protoc-3.15.8-linux-x86_64.zip -O protoc.zip && unzip protoc.zip |
go get github.co… 阅读更多 »Go使用protobuf(转载)