# go-zero使用

By [point](https://paragraph.com/@point) · 2022-05-03

---

这个教程看完可以日常使用了

[https://www.bilibili.com/video/BV1LS4y1U72n/?spm\_id\_from=333.788](https://www.bilibili.com/video/BV1LS4y1U72n/?spm_id_from=333.788)

### 稍微总结下

1.  java转过去的感觉很亲切，无脑写业务就行（internal-→logic）里面写就行了，别的地方几乎不用管，框架还贴心的写了todo
    
2.  生成工具很全,一个生成router这样的业务代码，一个生成model层代码，很java
    
    1.  goctl model mysql ddl -src="sql路径" -dir="."
        
    2.  goctl api go -api temp/nft.api -dir .
        
3.  可以自己写sql，舒服，ORM怎么用都不习惯
    
4.  单体应用转微服务方便，代价很小
    

### 使用时注意点

1.  自动生成的代码不要动，顶部也会提示，不然下次再自动生成会冲掉，业务逻辑则不会冲掉，可以放心自动生成代码
    
2.  model层的后续加业务则没法自动生成，可以记录下哪里是自己写的代码，方便后面重新生成
    
3.  api文件要分模块的话，service名字要一样，这个点稀奇古怪的。
    
4.  mysql创建表时最好勾上not null，不然model层会出现sql.NullString类型，有点不舒服
    
5.  time相关的会忽略，自己看情况维护

---

*Originally published on [point](https://paragraph.com/@point/go-zero)*
