Golang数组和切片区别及切片扩容
1. 内部结构 1.1. 数组 Array 先说一下数组, 的确在 Go 语言中, 因为 slice 的存在, 使得 array 的出场率不高。但想要很好的理解 slice, 还是要先要了解 array. Go 语言的数组和其他语言一样, 没有什么特别的地方, 就是一段以元素类型(如int)为单位的连续内存空间。数组创建时, 被… 阅读更多 »Golang数组和切片区别及切片扩容
1. 内部结构 1.1. 数组 Array 先说一下数组, 的确在 Go 语言中, 因为 slice 的存在, 使得 array 的出场率不高。但想要很好的理解 slice, 还是要先要了解 array. Go 语言的数组和其他语言一样, 没有什么特别的地方, 就是一段以元素类型(如int)为单位的连续内存空间。数组创建时, 被… 阅读更多 »Golang数组和切片区别及切片扩容
1. 引言 笔者从今天开始正式学习golang了,肯定要跟着谷歌的节奏来,毕竟是code领域的风向标。下面谈一下入门go语言首先要弄明白的一个知识点,虽然不是太大,但是在它在学习这门语言的路上扮演着十分重要的作用。 学习go语言,入门过得都知道,go语言是以包为单位来复用代码块功能的,一般一个文件夹对应一个包,并且我们也知道,g… 阅读更多 »Go语言第三方包依赖的管理方式(转载)
无法提供摘要。这是一篇受保护的文章。
最近使用 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编译及简单使用