avatar

Go项目多阶段构建Docker镜像

在 Docker 17.05 版本之前,我们构建 Docker 镜像时,通常会采用两种方式: 全部放入一个 Dockerfile 一种方式是将所有的构建过程编包含在一个 Dockerfile

Go 环境搭建

背景 Go语言在 v1.14 之前使用 go path 模式,在 v1.14 之后采用 go mod 模式管理项目。该文章针对 v1.14 后的环境安装方式进行讲解。 Mac系统安装 MacOs ...

Go Interface 合法验证

接口实现判断依据 值方法集和接口匹配 给接口变量赋值的不管是值还是指针对象,都ok,因为都包含值方法集 指针方法集和接口匹配 只能将指针对象赋值给接口变...

Go安装可执行工具

前言 在 Go 语言中,我们通常用借用一些工具作为可执行程序使用。但是按照官方文档安装过程中,总是会发生 go get 成功了,但是执行命令的时候总是提示命令未找到的错误,例如:Mac: bash: /Users/l...

Go实现gRPC

引言 在 Go原生方法实现RPC 文章中,我们通过原生的方法实现了 RPC 调用。但是大多是基于 protobuf 进行 RPC 的...

Go原生方法实现RPC

引言 RPC是远程过程调用的缩写(Remote Procedure Call),通俗地说就是调用远处的一个函数。使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。...

etcd介绍与安装

介绍 etcd是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现。它是一款云原生时代的首选元数据存储产品,已经成为云原生和分布式系统的存储基石。类似项目有zookeeper和consul。 etcd具有...

Go工程化:函数式选项模式

引言 Go 不是完全面向对象语言,有一些面向对象模式不太适合它。但经过这些年的发展,Go 有自己的一些模式。今天介绍一个常见的模式:函数式选项模式(Functional Options Pattern)。 参考文献