【Go电商实战02】如何借助工具快速生成代码?初学者容易踩的坑有哪些?_gf gen service

OPTION
-s, --srcFolder source folder path to be parsed. default: internal/logic
-d, --dstFolder destination folder path storing automatically generated go files. default: internal/service
-f, --dstFileNameCase destination file name storing automatically generated go files, cases are as follows:
| Case | Example |
|---------------- |--------------------|
| Lower | anykindofstring |
| Camel | AnyKindOfString |
| CamelLower | anyKindOfString |
| Snake | any_kind_of_string | default
| SnakeScreaming | ANY_KIND_OF_STRING |
| SnakeFirstUpper | rgb_code_md5 |
| Kebab | any-kind-of-string |
| KebabScreaming | ANY-KIND-OF-STRING |
-w, --watchFile used in file watcher, it re-generates all service go files only if given file is under
srcFolder
-a, --stPattern regular expression matching struct name for generating service. default: ^s([A-Z]\w+)$
-p, --packages produce go files only for given source packages
-i, --importPrefix custom import prefix to calculate import path for generated importing go file of logic
-l, --clear delete all generated go files that are not used any further
-h, --help more information about this command

EXAMPLE
gf gen service
gf gen service -f Snake


参数说明:


![](https://img-blog.csdnimg.cn/img_convert/40d6e6a0f7bde463a824c5622376976b.png)


###### 自动模式(强烈建议)


如果你是使用的GolandIDE,那么可以使用官方提供的配置文件:**watchers.xml** 自动监听代码文件修改时自动生成接口文件。使用方式,如下图:


![](https://img-blog.csdnimg.cn/img_convert/5fe487e9cac79b740f507dc303ba4183.png)


#### 自动模式配置教程


##### 1. 引入官方提供的配置文件


建议在使用Goland IDE时,使用官方提供的配置文件:watchers.xml


watchers.xml下载地址:https://goframe.org/pages/viewpage.action?pageId=49770772&preview=/49770772/49770777/watchers.xml


##### 2. 编写业务逻辑代码


![](https://img-blog.csdnimg.cn/img_convert/84cf5685882191f449621bbb28cefc2c.png)


##### 3. 生成接口及服务注册文件


如果你已经按照步骤1做好了`watchers.xml`的配置,那么这一步可以忽略。因为在我们编写代码的时候,service便同时生成了接口定义文件。


如果没有配置,我们每次编写logic业务模块后,都需要手动执行一下 `gf gen service` 命令。


**所以,我强烈建议你按照教程配置`watchers.xml`**


不管用哪种方式,生成的service目录,效果如下:


![](https://img-blog.csdnimg.cn/img_convert/e4b33ada86bd1866feb918600b250f1d.png)



> 
> **注意:下面就是我说的初学者容易踩的坑**
> 
> 
> 


##### 4. 注意服务的实现注入部分(仅一次)


只有在生成接口文件后,才能在每个业务模块中加上接口的具体实现注入。该方法每个业务模块加一次就可以。


比如这种:


![](https://img-blog.csdnimg.cn/img_convert/be491844800956a08a4b08e8472b9559.png)


##### 5. 在启动文件中引用接口实现注册(仅一次)


注意:`gf gen service`命令除了生成接口文件之外,还生成了一个接口实现注册文件。


这个文件用于程序启动时,将接口的具体实现执行注册。


![](https://img-blog.csdnimg.cn/img_convert/7f86ac31b39e0fdd710b23b838277ae7.png)


该文件的引入需要在main包的最顶部引入,需要注意import的顺序,放到最顶部,后面加一个空行。如果同时存在packed包的引入,那么放到packed包后面。像这样:


![](https://img-blog.csdnimg.cn/img_convert/32b12e6d6744f18335507e7bccd64b96.png)


##### 6. 搞定


完成上面的5步操作,我们就搞定了**最复杂的通过编写logic层业务逻辑,自动生成service层代码**的部分


### 跑通业务功能


上面介绍了 `gf gen service` 的使用,是本期的重点。


另外一个重点就是,我们本期的视频内容带大家`跑通了一个业务功能`:  
 完成了管理后台轮播图的接口,欢迎大家收藏文章,找个时间动手实践视频内容:




![img](https://img-blog.csdnimg.cn/img_convert/b0cde03a8d805310c2ff509c3f136d66.png)
![img](https://img-blog.csdnimg.cn/img_convert/6b6bb000e17d23a084a983cb2de9dac9.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

s://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值