摘要: 一 Belongs To(一对一) 1.1 Belongs To belongs to 会与另一个模型建立了一对一的连接。 这种模型的每一个实例都“属于”另一个模型的一个实例。 例如,您的应用包含 user 和 company,并且每个 user 能且只能被分配给一个 company。下面的类型就表 阅读全文
posted @ 2022-05-07 23:39 刘清政 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 一 Gorm概述 1.1 Gorm介绍 Gorm 是 Golang 的一个 orm 框架。ORM 是通过实例对象的语法,完成关系型 数据库的操作,是"对象-关系映射"(Object/Relational Mapping) 的缩写。使用 ORM 框架可以让我们更方便的操作数据库。 Gorm官方支持的数 阅读全文
posted @ 2022-05-07 23:38 刘清政 阅读(715) 评论(0) 推荐(0) 编辑
摘要: 一 创建 package main import ( "database/sql" "gorm.io/driver/mysql" "gorm.io/gorm" "time" ) type User struct { gorm.Model Name string Age uint8 Birthday 阅读全文
posted @ 2022-05-07 23:38 刘清政 阅读(1150) 评论(0) 推荐(0) 编辑
摘要: 一 Viper介绍 Viper 是一个完整的 Go 应用程序配置解决方案,它旨在在应用程序中工作,并且可以处理所有类型的配置需求和格式。它支持: 设置默认值 从 JSON、TOML、YAML、HCL、envfile 和 Java 属性配置文件读取 实时监控和重新读取配置文件(可选) 从环境变量中读取 阅读全文
posted @ 2022-05-07 23:37 刘清政 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一 前言 我们编写的Web项目部署之后,经常会因为需要进行配置变更或功能迭代而重启服务,单纯的kill -9 pid的方式会强制关闭进程,这样就会导致服务端当前正在处理的请求失败,那有没有更优雅的方式来实现关机或重启呢? 阅读本文需要了解一些UNIX系统中信号的概念,请提前查阅资料预习。 二 优雅地 阅读全文
posted @ 2022-05-07 23:37 刘清政 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 一 Zap介绍 Zap 是Uber推出,非常快的、结构化的,分日志级别的 Go 日志库 无反射,零分配的JSON编码器,基本记录器尽可能避免序列化开销和分配 项目地址:https://github.com/uber-go/zap 官方文档:https://pkg.go.dev/go.uber.org 阅读全文
posted @ 2022-05-07 23:36 刘清政 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 一 Gin将日志写入控制台和文件中 方式一:直接配置方式 package main import ( "github.com/gin-gonic/gin" "io" "os" ) func main() { //1 禁用控制台颜色 gin.DisableConsoleColor() //2 创建记录 阅读全文
posted @ 2022-05-07 23:35 刘清政 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 一 logrus介绍 1.1 log标准库优缺点 优点 Go标准库的log日志库非常简单 可以便设置任何io.Writer作为日志输出位置 缺点 1 仅仅提供了print,panic和fatal三个函数,不支持info/debug等多个级别 2 记录错误有Fatal和Panic;Fatal通过调用o 阅读全文
posted @ 2022-05-07 23:35 刘清政 阅读(502) 评论(0) 推荐(0) 编辑