From 3102c231d3a02abf5368b92cf22c61c155b37300 Mon Sep 17 00:00:00 2001 From: BFlameSwift Date: Fri, 21 Oct 2022 19:59:12 +0800 Subject: [PATCH] =?UTF-8?q?docs():=20=F0=9F=93=9D=20update=20comment=20plu?= =?UTF-8?q?gin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gossip/pn2-how-to-transplant-gin-demo.md | 4 ++-- post-basis/p7-gorm-basic-and-service.md | 16 ++++++++++++++-- post-gossip/foresight.md | 14 ++++++++++++++ post-gossip/tools.md | 12 ++++++++++++ post/preparation/3.md | 18 +++++++++++++++--- 5 files changed, 57 insertions(+), 7 deletions(-) diff --git a/gossip/pn2-how-to-transplant-gin-demo.md b/gossip/pn2-how-to-transplant-gin-demo.md index d97192d..57a606e 100644 --- a/gossip/pn2-how-to-transplant-gin-demo.md +++ b/gossip/pn2-how-to-transplant-gin-demo.md @@ -1,8 +1,8 @@ # 如何移植Gin-demo -​ 虽说在Gin的[介绍页](https://super-buaa-2021.github.io/GinBook/post-preparation/di-yi-zhang-gin-jie-shao.html) 中提到Gin的一个轻量化框架,配置简单等。但是一路下来真正配置的还是很多。但是盛如Django在初学时好像也不需要讲究这么多文件结构等等。不过个人理解上,Django作为相对大而全的框架,你在使用时大多需要自零开始搭建架构,还需要配置很多东西。但是本例所用的Gin上,可以根据已有的项目结构进行快速移植为新项目使用。且配置大多中间件,文件结构清晰明了。此外,虽然本Ginbook讲的相对繁琐,但是包含了不少个人在学习后端一年所了解到的许多方便工具。许多部分,例如日志,jwt鉴权。如果不用后端同样可以进行。不过相对粗糙和鉴权繁琐罢了。 + 虽说在Gin的[介绍页](https://super-buaa-2021.github.io/GinBook/post-preparation/di-yi-zhang-gin-jie-shao.html) 中提到Gin的一个轻量化框架,配置简单等。但是一路下来真正配置的还是很多。但是盛如Django在初学时好像也不需要讲究这么多文件结构等等。不过个人理解上,Django作为相对大而全的框架,你在使用时大多需要自零开始搭建架构,还需要配置很多东西。但是本例所用的Gin上,可以根据已有的项目结构进行快速移植为新项目使用。且配置大多中间件,文件结构清晰明了。此外,虽然本Ginbook讲的相对繁琐,但是包含了不少个人在学习后端一年所了解到的许多方便工具。许多部分,例如日志,jwt鉴权。如果不用后端同样可以进行。不过相对粗糙和鉴权繁琐罢了。 -​ 下面简单介绍一些如何将Gin-demo简单移植为你的后端项目。 + 下面简单介绍一些如何将Gin-demo简单移植为你的后端项目。 1. 全局搜索并替换`github.com/Super-BUAA-2021/Gin-demo` 为你想要的包名。 本例为了符合大多项目对于module的设置,以及方便其他人的使用。将module设置为此。也在使用`service`包都需要`import "github.com/Super-BUAA-2021/Gin-demo/service"` 。 2. 全局搜索demo,并替换你想要的项目名。包括但不限于:日志文件名,配置文件名 diff --git a/post-basis/p7-gorm-basic-and-service.md b/post-basis/p7-gorm-basic-and-service.md index c7957a7..86e375a 100644 --- a/post-basis/p7-gorm-basic-and-service.md +++ b/post-basis/p7-gorm-basic-and-service.md @@ -115,7 +115,7 @@ if err != nil { if d.Error != nil { log.Fatalf("List products error: %v", d.Error) } - + log.Printf("totalcount: %d", count) for _, product := range products { log.Printf("\tcode: %s, price: %d\n", product.Code, product.Price) @@ -125,7 +125,7 @@ if err != nil { 该方法可以获取到一系列的记录,根据`Offset Limit Order`来调整返回顺序等。 -​ + ### 模型定义 @@ -242,3 +242,15 @@ Go项目中,本例使用Gorm进行数据库的CURD操作。而Gorm同样也是 1. 极客时间:Go项目开发实战:30 2. [Gorm](https://github.com/go-gorm/gorm) 3. [六种操作源码](https://github.com/marmotedu/gopractise-demo/blob/master/gorm/main.go) + + + + + + diff --git a/post-gossip/foresight.md b/post-gossip/foresight.md index 8311617..3075158 100644 --- a/post-gossip/foresight.md +++ b/post-gossip/foresight.md @@ -9,3 +9,17 @@ description: 展望go1.18的新特性——泛型,并收集部分好用的新 1. [Go的Lodash](https://github.com/samber/lo) (咕咕\~) + + + + + + + + diff --git a/post-gossip/tools.md b/post-gossip/tools.md index 5351a15..c3e9104 100644 --- a/post-gossip/tools.md +++ b/post-gossip/tools.md @@ -140,3 +140,15 @@ func StrInList(target string, str_array []string) bool { return false } ``` + + + + + + diff --git a/post/preparation/3.md b/post/preparation/3.md index 482ed87..87d5627 100644 --- a/post/preparation/3.md +++ b/post/preparation/3.md @@ -2,11 +2,11 @@ ## Gin 后端项目结构 -​ 本结构大体参照于[项目](https://github.com/flipped-aurora/gin-vue-admin) , 实际使用时或有不同,暂时以该[个人项目](https://github.com/BFlameSwift/SlimeScholar-Go)为准,后续可能会更换代码风格更好的项目作为参考。不过大体上的结构类似。 + 本结构大体参照于[项目](https://github.com/flipped-aurora/gin-vue-admin) , 实际使用时或有不同,暂时以该[个人项目](https://github.com/BFlameSwift/SlimeScholar-Go)为准,后续可能会更换代码风格更好的项目作为参考。不过大体上的结构类似。 -​ 结合代码使用或许更佳。 + 结合代码使用或许更佳。 -​ 值得注意的是,由于面向人群大多为初学Gin的同学,此处结构中没有出现`/internal,/pkg` 等文件夹,分别代表 私有应用程序和库代码以及 外部应用程序可以使用的库代码,具体理解和使用可见\[2]。将功能按照文件夹所大致区分开。并且由于笔者并未进过企业后端实习,水平仍停留在学生水平。因此可能有亿点不成熟之处还行给出建议修改。 + 值得注意的是,由于面向人群大多为初学Gin的同学,此处结构中没有出现`/internal,/pkg` 等文件夹,分别代表 私有应用程序和库代码以及 外部应用程序可以使用的库代码,具体理解和使用可见\[2]。将功能按照文件夹所大致区分开。并且由于笔者并未进过企业后端实习,水平仍停留在学生水平。因此可能有亿点不成熟之处还行给出建议修改。 ``` 此外企业上的Go项目大多才用微服务的kit框架详解(基于go-kit),本例专注于小型后端开发,固也有所不同吧。 @@ -111,3 +111,15 @@ server: 1. https://github.com/golang-standards/project-layout 2. https://travisjeffery.com/b/2019/11/i-ll-take-pkg-over-internal/ + + + + + +