Go语言项目推荐4

给大家推荐一个好玩的go项目:Nunu。项目地址:https://github.com/go-nunu/nunu

Nunu是一个基于Golang的应用脚手架工具,可以帮助开发者快速搭建一套go项目的应用程序模板。nunu生成的项目模板集成了go项目常用的框架和组件,如gin,gorm,go-redis,wire,viper,swag等等。

当然了,项目模板可以有很多,不一定非得拘泥于nunu提供的这一套,但在这里我想重点介绍一下nunu命令本身以及使用nunu命令生成的项目布局的亮点。

首先是nunu命令,我最开始接触nunu的时候,源码还只有500多行,现在差不多有1000行左右,但大家不要畏惧看源码和复现nunu源码。nunu源码中最核心最亮眼的地方,就在于对cobra库的使用。cobra库是Golang里一个用于创建强大的现代CLI应用程序的第三方库,许多很知名的开源项目使用到了cobra,比如docker,k8s。大家如果接触过go微服务,应该对go-zero和kratos框架不陌生。这两个框架的命令生成工具goctl和kratos,也都是基于cobra开发的。大家如果可以掌握cobra,将来也可以开发属于自己的命令行工具,而在面试时,别人的简历项目都是各种秒杀商城及其变体(真正的秒杀商城绝对不是一个人可以搞定的),而你的项目是一个命令行工具,是不是显得别具一格。

其次是wire工具。nunu生成的项目架构,和微服务框架kratos一样,使用了wire实现了模块化和解耦。wire是 Google 开源的一个依赖注入工具,它是一个代码生成器,并不是一个框架。我们只需要在一个特殊的go文件中告诉wire类型之间的依赖关系,它会自动帮我们生成代码,帮助我们创建指定类型的对象,并组装它的依赖,实现Javaer耳熟能详的控制反转。当然,这不是必须的,许多大型go项目不使用这种方式,依然可以很好地组织项目布局和结构。但直到今天,业界也没有一个统一的go项目布局的标准,所以尽可能多了解一些go项目组织布局的方式,还是很有必要的。等大家以后进到企业参与实际开发,你们企业大概率也会有自己的项目结构布局。

希望这个项目可以对大家有所帮助,大家以后在学习go项目开发时,如果不想使用视频教程里的组织布局,就可以使用nunu框架提供的模板,如果习惯了nunu提供的项目布局模板,大家将来也更容易适应kratos框架提供的项目布局。
全部评论
感谢楼主分享! 看了一下楼主之前的关于go学习路线的规划,感觉非常棒,有几个小问题想要请教一下:我现在是大三,如果想要在明年三四月份找到一份golang的暑假实习的话,是使用gin,go-zero之类的框架去做一个项目呢,还是去手写一个框架之类的,比如极客兔兔系列?
1 回复 分享
发布于 2023-12-10 23:47 江苏
收藏了,以后再看
1 回复 分享
发布于 2023-12-05 15:54 湖北
28届刚敲完bluebell,再搞个这个项目暑假找个中厂实习如何
点赞 回复 分享
发布于 03-24 17:59 山东

相关推荐

点赞 评论 收藏
分享
来个厂收我吧:首先,市场侧求职我不是很懂。 但是,如果hr把这份简历给我,我会觉得求职人不适合做产品经理。 问题点: 1,简历的字体格式不统一,排版不尽如人意 2,重点不突出,建议参考star法则写个人经历 3,印尼官方货币名称为印度尼西亚卢比(IDR),且GMV690000印尼盾换算为305人民币,总成交额不高。 4,右上角的意向职位在发给其他公司时记得删除。 5,你所有的经历都是新媒体运营,但是你要投市场营销岗位,jd和简历不匹配,建议用AI+提示词,参照多个jd改一下经历内容。 修改建议: 1,统一字体(中文:思源黑体或微软雅黑,英文数字:time new romans),在word中通过表格进行排版(b站学) 2,校招个人经历权重:实习经历=创业经历(大创另算)>项目经历>实训经历>校园经历 3,请将项目经历时间顺序改为倒序,最新的放最上方。 4,求职方向不同,简历文字描述侧重点也需要不同。
点赞 评论 收藏
分享
评论
13
71
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务