BLCL的博客小馆

标签 · Golang

首页

关于

归档

loading..
GolangProtobuf

protobuf 升级后带来的一些坑

前段时间把公司某项目依赖的 github.com/golang/protobuf 的版本从 v1.3.3 升级到了 v1.4.2,本文记录了升级过程中遇到的一些问题。 Google 对 Go 的 protobuf 库的底层进行了大的改进,新版本的包路径转移到了 google.golang.org/protobuf. 同时,这些改进也被带进了 github.com/golang/protobuf:从 v1.4 版本起,github.com/golang/protobuf 会在 google.golang.org/protobuf 的基础上实现,但会保证接口兼容,这也表明当前依赖 github.com/golang/protobuf 的项目可以直接升级版本,而无需对上层代码进行改动。 然而,新版的 prot..

更多
loading..
Golang

《深入解析Go》笔记

在 GitHub 上找到一本解读 Go 实现细节的好书,名叫《深入解析 Go》。 大致看了一遍,简单做了些笔记。 这本书的代码来自 Go 1.3,所以还有一部分由 C 语言写成。 这份笔记里的代码来自 Go 1.12.5,数据结构全部由 Go 语言实现。 数据结构 string 和 slice 都是引用类型,可能开在栈上,也可能开在堆上; channel 和 map 是引用类型,但一定开在堆上,栈中只有指针。 string 底层结构 src/reflect/value.go 1234type StringHeader struct { Data uintptr Len int} string 是不可变数据结构,任何对 string 的操作都会产生一个新的 string. 因此,需要拼接..

更多
Golang

Golang 学习记录

这几个月在考虑从 Python 转向 Golang,所以专门学习了 Golang. 这里是 Golang 学习的一些记录。 学习笔记稍后再整理(咕),先列一下我这几个月看过的各种教程吧。 阅读列表 Go by Example Go by Example 是对 Go 基于实践的介绍,包含一系列带有标注说明的示例程序。 真·快速上手必备。 《Go语言四十二章经》 《Go语言四十二章经》详细讲述了Go语言规范与语法细节以及在开发中常见的误区;通过对标准库包和著名第三方包的实际运用,来启发读者深刻理解Go语言的核心思维,仔细琢磨经典代码设计模式,引领读者进入Go语言开发的更高阶段。 讲解详细、信息量超大的 Go 语言教程。 Go Tour 经典的 Golang 官方教程。 上大学的时候啃过..

更多