• go logo
    Go,  技术,  编程语言

    从零开始搭建go项目(gin框架)(六) – 接口实现

    本节内容,我们正式实现一个添加用户的接口,实现我们整个项目接口请求的层级。 接口代码层级 在根目录下,新创建 ./repositories 和 ./models 目录,接口请求的数据逻辑顺序如下: route -> api -> services -> repositories -> models 接口实现 创建 ./models/user.go: 创建 ./repositories/user.go: 创建./services/user.go: 增加路由,修改 ./router/router.go 接口测试 至此,一个添加用户的接口就实现了 ~

  • go logo
    Go,  技术,  编程语言

    从零开始搭建go项目(gin框架)(五) – 支持Mysql

    本节内容,我们将mysql引入我们的框架 (本地mysql部署可参考 Mysql集群部署(主从复制)。 第一步 引入mysql相关服务 第二步 创建测试库表 第三部 对mysql进行封装 创建./library/database/mysql.go : 第四步 增加mysql配置与读取 ./conf/config.yaml, 新增 ./conf/config.go: 第五步 mysql初始化 创建文件./helpers/mysql.go: 第六步 main函数中调用 ./main.go : 至此,我们项目就已经支持mysql使用啦~,下一章我们再介绍mysql在项目中的具体使用 参考链接 https://gorm.io/

  • go logo
    Go,  技术,  编程语言

    从零开始搭建go项目(gin框架)(三) – 引入logrus日志

    上篇文章,我们已经给项目加上了路由,并且走通了接口,这篇文章我们再给项目加上一项必不可少的内容 —— 日志. 目前go的日志记录,用的最多的还是 logrus, 我们这次就将logrus以一个中间件的方式,引入我们的项目。 第一步 引入logrus logrus项目的git地址: https://github.com/sirupsen/logrus , go get -u github.com/sirupsen/logrus 第二步 增加日志配置读取逻辑 在根目录创建配置文件夹,并创建配置文件config.yaml,以及配置解析文件conf.go ./conf/config.yaml : ./conf/conf.go : 注意: ioutil.ReadFile(),可以是相对路径,也可以是绝对路径,但相对路径的话,./ 指的是根目录,跟当前文件所在目录无关 第四步 初始化配置 在main函数中,初始化配置 ./main.go : 第四步 封装logrus 创建log封装文件…

  • go logo
    Go,  技术,  编程语言

    go web定义全局变量,常驻内存并定时更新重载

    业务场景,特别是web场景中,经常有配置等相关信息,需要进行加载,如果每次请求都加载一次的话,显然是存在性能损耗的。 这时,就可以将其存储到全局变量中,在程序编译过程中加载并常驻内存,之后,每次接口请求,直接读取该全局变量,并从内存中获取数据即可。 定义全局变量 只需在函数外部定义即可 定义定时重载函数 利用golang的定时器,来实现定时重载,此处每10s重载一次 启用重载函数 在main()函数中以协程的方式调用该重载函数,之所以以协程的方式,是为了避免阻塞,不影响其他正常的请求。

  • go logo
    Go,  技术,  编程语言

    从零开始搭建go项目(gin框架)(二) – 规划路由

    上一节 从零开始搭建go项目(gin框架)(一) 中,我们已经实现了一个go项目的基础搭建,实现了程序可访问,本节,我们继续对该项目进行完善和补充。 第一步 基础准备 根目录创建 ./library 目录,作为我们的自有库目录 mkdir library 创建错误码定义文件 ./library/error_code.go : 接口返回体定义(responseBody) ./library/response.go : 第二步 创建接口 在跟没有了创建 ./service 目录,作为我们的接口业务处理层 ./service/user.go : 在根目录创建./api/v1目录,作为我们的接口目录: mkdir -p api/v1 创建接口 ./api/v1/user.go : 第三步 定义接口路由 根目录创建router目录,目录下创建router.go路由文件…

  • go logo
    Go,  技术,  编程语言

    从零开始搭建go项目(gin框架)(一)

    本文会对一些基础的git操作也进行记录,希望对一些对git不是很了解的同学有所帮助。 第一步 创建git项目 这是因为我是自己搭建的git服务,如果使用的是github等官方服务的话,可以直接页面操作创建项目。 第二步 本地部署项目 git clone git@47.104.19.86:/git/repo/fusheng-admin.git 第三步 创建readme说明文件,提交 第四步 创建go.mod文件 go mod是golang的依赖包管理工具,能够让我们即为方面的引入各类包,且对齐进行相应的管理。 第五步 引入gin框架 从go.mod文件中可以看到,gin框架以及其所需要依赖的一些包都已经引入。 go.sum 文件是go.mod引入包后生成的伴生文件,正常情况下,我们无需理会。 第六步 创建入口文件main.go 注意,入口文件名不一定是main.go,也不一定一定要在根目录下,但包名必须是main,且必须包含main()函数 第七步 启动程序 若只是开发,调试的话,可直接 go run 来启动程序 若是生产环境,则通过go build,生成可执行文件,然后运行可执行文件 第八步 访问项目…