题外篇-关于go gin框架学习的思考
2023-07-24 本文已影响0人
护念
这篇和具体技术无关,纯属于自己对gin框架学习的一些思考。
一直以来,我支持有的观点是,学再多的语言的语法知识什么的,学完后还是不知道具体该怎么写程序,要掌握如何写程序,比如要把自己置身到项目中去。在项目中历练,然后建立整体的框架思想,再去掌握零碎的语法知识,也会更有针对性。
所以,在对go语言有了基本了解后,我就开始寻找有关gin的指南,和项目开发相关的书籍。
先说gin 官网,一句话它的官网真够简洁的,相比于我之前学过的rails框架而言,显得真是太简陋了,rails有完整的学习指南,里面详细介绍了有关rails的各个部分模块功能、如何使用等。然而gin官网除了有一个quick start外基本上就没有其它的了,它并没有大块的关于如何使用的说明,它对每个部分都列出了一个example。
我们具体需要了解哪一块功能,应该就是直接查example吧。这点和rails差异很大,我们需要从example学习,以及一些比较优秀的go项目中去学习。当然这对我们自己学习的能力要求也会更高。
另外一点是,gin这框架相比于rails框架而言非常轻量,轻量也就意味着,许多基础功能它是没有的,比如数据迁移——这得通过另外一个包(package)来实现;它也没有rails那种约定的文件组织结构,在rails项目中路由、控制器、数据model文件结构如何组织都是定死的。但在gin这里统统没有,你很自由,你可以按照自己的理解去组织文件结构,这点要尝试适应。
最后再来说说,关于gin开发的书籍,找了下真的不多,另外一点需要关注实效性,可能书里用的go版本已经是很早以前的了。所以找书的话,尽量找实效性高点的,拿到书后开始直接上手敲代码,建立整体认知,再去深究语法。
总结:
- gin框架官网比较简陋,文字说明很少,更的时候需要直接去学习example以及开源项目中的使用方式学习。
- gin框架比较轻量,许多功能块是没有的,需要我们自己实现,或者借助第三方包,比如数据迁移
- gin框架没有类似rails那种约定的文件组织结构,我们需要自己建立
- 对于书籍的选择,我们尽量选择最近的,拿到后直接敲代码,先建立整体认知,再深究语法。
以上只是自己个人观点,希望可以对后续gin学习的同学提供参考。