Golang|Cobra学习
阅读hugo源码,发现入口是很多commend构成,了解到cobra项目,因此学习一下cobra的基本使用。
……记录所学所思所想,专注于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的入门教程,顺便复习一下相关语法巩固基础。
……最近工作上遇到需要解析ttf字库的需求,判断给到的数据中是否有不存在ttf字库中的汉字,结果查询一遍之后发现,使用golang解析ttf做判定的代码基本没有,因此本文开始详细分析一波ttf字库文件,并尝试使用golang解析,实现相关需求。
……最近阅读《Python工匠:案例、技巧与工程实践》发现一些零零碎碎的之前不知道的知识点,因此总结记录方便以后翻找查阅。
……