Golang|groupcache
groupcache 是 memcached 作者 Brad Fitzpatrick 用 Go 语言编写的缓存及缓存过滤库,作为 memcached 许多场景下的替代版本。
……记录所学所思所想,专注于Go语言、软件架构
groupcache 是 memcached 作者 Brad Fitzpatrick 用 Go 语言编写的缓存及缓存过滤库,作为 memcached 许多场景下的替代版本。
……Go 语言是静态类型的,每个变量在编译期有且只能有一个确定的、已知的类型,即变量的静态类型。静态类型在变量声明的时候就已经确定了,无法修改。
……阅读hugo源码,发现入口是很多commend构成,了解到cobra项目,因此学习一下cobra的基本使用。
……Go 协程(Goroutine)是与其他函数同时运行的函数。可以认为 Go 协程是轻量级的线程,由 Go 运行时来管理。
……本小节学习go语言的方法和接口,虽然go语言没有提供类的设计,但可以通过结构体来类比实现对应功能,而类具有对应的方法,同理结构体也可以有自己的函数,我们称之为方法,具体定义是在函数前面加上接收者。
……本小节学习go语言的map,map里面存储着键值对,通过键来快速获取对应的值,我们使用map[T]T
格式来定义集合,需要注意的是key的限制,map中的key可以是bool,数字,string,指针,channel还可以是只包含前面几个类型的接口,结构体,数组,但是不能使用slice,map还有function作为key,因为这几个没法用==来判断。
本小节学习go语言的数组和切片,一门编程语言肯定少不了基本数据结构数组,go语言中还有另外的类型切片,和数组的区别是数组的大小是固定的,是不可改动的,而切片是可以动态扩展的。
……本小节介绍go语言中的结构体,由于go语言没有面向对象的设计,但我们可以通过结构体去实现面向对象的继承、封装、多态特性。
……接下来学习go语言的基本流程控制,包含if、switch、for、defer四个关键字。
……最新使用Python编写一些处理脚本,感觉与golang之间的语法开始模糊,因此决定根据官方文档,写一下golang的入门教程,顺便复习一下相关语法巩固基础。
……