Golang技巧之默认值的设置(转载)
最近使用 GRPC 发现一个设计特别好的地方,非常值得借鉴。 我们在日常写方法的时候,希望给某个字段设置一个默认值,不需要定制化的场景就不传这个参数,但是 Golang 却没有提供像 PHP、Python 这种动态语言设置方法参数默认值的能力。 低阶玩家应对默认值问题 以一个购物车举例。比如我有下面这样一个购物车的结构体,其中 … 阅读更多 »Golang技巧之默认值的设置(转载)
最近使用 GRPC 发现一个设计特别好的地方,非常值得借鉴。 我们在日常写方法的时候,希望给某个字段设置一个默认值,不需要定制化的场景就不传这个参数,但是 Golang 却没有提供像 PHP、Python 这种动态语言设置方法参数默认值的能力。 低阶玩家应对默认值问题 以一个购物车举例。比如我有下面这样一个购物车的结构体,其中 … 阅读更多 »Golang技巧之默认值的设置(转载)
1. logrus Logrus is a structured logger for Golang 1.1. 获取logrus go get github.com/sirupsen/logrus 注意: 作者最近将这个包转移到了sirupsen/logrus里面,但是之前的名字是Sirupsen/logrus,所以在使用其他h… 阅读更多 »Golang Logrus的使用(转载)
1. 问题描述 对于不同的package,有些可能在proto3环境下编译,有些可能是proto2.因此会造成编译失败,报错等问题。 2. 解决办法 卸载原有版本,安装新版本。 在保留安装源码的前提下,只需要几行命令便可以快速切换。 具体步骤: 首先protoc –version 查询本机版本。假设从protoc2更换到pro… 阅读更多 »protoc版本更换(转载)
1. 前置条件 Go Protocol buffer编译器:protoc,安装可参考Protocol buffer编译安装 Go 协议编译插件 下载并安装编译插件,这里确保已配置代理可以下载。 $ export GO111MODULE=on # Enable module mode $ go get google.golang.… 阅读更多 »gRPC的Golang编译及简单使用
从https://github.com/protocolbuffers/protobuf/releases下载protoc(如:Windows则下载protoc-3.6.1-win32.zip)。protoc命令位于bin目录下。 cd ~ && wget https://github.com/protocolb… 阅读更多 »Go使用protobuf(转载)
SR-IOV是什么,它和virtio、Device assignment的IO虚拟化的技术有什么区别,本文章中将会解答。 1. SR-IOV简介 SR-IOV(PCI-SIG Single Root I/O Virtualization and Sharing)是PCI-SIG组织发布的规范。 设计PCI-SIG SR-IOV … 阅读更多 »关于虚拟化,你得知道SR-IOV(转载)
1. BGP协议特性 BGP是自治系统外部路由协议,用来在AS之间传递路由信息 路径矢量路由协议,从设计上避免了环路的发生 其路由信息中携带了所经过的全部AS路径列表。这样,接收该路由信息的BGP路由器可以明确的知道此路由信息是否源于自己的AS。如果是源于自己的AS,BGP就会丢弃此条路由,这样就根本的解… 阅读更多 »BGP协议基本原理(转)