这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
本文为青训营课程笔记,配合原课程食用效果更佳哦~
课程笔记
一、Grom(ORM框架)
-
特点
- Grom是一个迭代了10年多的强大ORM框架,有丰富的开源扩展
-
使用方法
- 首先定义grom model,然后命名
- 接下来连接数据库,即可进行数据操作
-
支持:MySQL、SQLServer、SQLite等
-
注意点:
- 使用First,查不到数据返回ErrRecordNotFound
- 结构体作为条件查询时,不会查询零值字段,可用map
- Struct不会更新零值,可用Mao或Select选择
- 物理删除后无法恢复,而软删除后不可正常访问,可用Unscoped找到
- Transaction方法可自动提交,不用Commit
- hook提高了CURD的能力,若其返回错误,自动停止操作并回滚事务
二、Kitex(RPC框架)
-
特点
- 高性能、强扩展,支持多协议,有丰富的开源扩展
-
使用
- 不支持Windows(不完善)
- 使用IDL定义服务接口
- kitex -module example -service example echo.thrift 生成代码
- 服务器默认监听8888端口
三、Hertz(HTTP框架)
-
特点
- 高易用、高性能、高扩展性
-
使用
- 提供GET、POST、PUT、DELETE、ANY等方法用于注册路由
- 提供路由组,提供参数路由和通配路由,优先级:静态>命名>通配路由
- 提供Bind、Validate、BindAndValidate函数用于参数绑定和校验
- Hertz中间件分为主要分为客户端中间件和服务端中间件
- HTTP Client可用于发送HTTP请求
- 提供代码生成工具Hz,定义IDL即可生成对应基础服务代码
总结收获
通过样例与知识点结合的方式,学到了一些GO语言三件套的基本使用方式;
通过样例的讲解,更了解了具体的三件套使用技巧;
又是收获满满的一天