知识分享之Golang——gorm的结构体常用标签

简介: 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。知识分享系列目前包含Java、Golang、Linux、Docker等等。

知识分享之Golang——gorm的结构体常用标签

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

内容

近期一直在使用gorm进行数据的增删改查操作,其每个表或每个数据结果都会对应一个结构体,但是有时在使用这个结构体时会额外增加一部分字段作为一些其他业务逻辑的使用,这时如何来有效避免一些字段不被gorm进行处理呢,我去查阅了官方文档和其网上的资料,整理本节内容,以下是其结构体中常用的使用方式,便于小伙伴们使用:

标签名 作用 案例
column 指定字段名,如果不指定通常是字段的小写驼峰格式 gorm:"column:usr_id;"
primaryKey 是否是主键 gorm:"column:usr_id;primaryKey"
unique 是否唯一 gorm:"column:usr_id;unique"
default 指定默认值 gorm:"column:usr_id;default:123"
- 忽略该字段 gorm:"-"
-> 只读 gorm:"->;column:usr_id"
<- 允许读和写 gorm:"<-;column:usr_id"
<-:update 允许读和更新 gorm:"<-:update;column:usr_id"
<-:create 允许读和创建 gorm:"<-:create;column:usr_id"
->:false;<-:create 仅创建 gorm:"->:false;<-:create;column:usr_id"
// 覆盖User结构体使用的表名
func (User) TableName() string {
  return "profiles"
}

参见内容:

https://gorm.io/docs/models.html#embedded_struct
https://blog.csdn.net/qq_35709559/article/details/109711919
本文声明:

5330898-d1c72b6c90e378f3.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

目录
相关文章
|
6天前
|
XML JSON Go
掌握Go语言:Go语言结构体进阶,探索高级特性与实用技巧(23)
掌握Go语言:Go语言结构体进阶,探索高级特性与实用技巧(23)
|
6天前
|
Go 开发者
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
|
6天前
|
存储 Go
Golang里空结构体struct{}的介绍和使用
【2月更文挑战第10天】Golang里空结构体struct{}的介绍和使用
39 6
|
6天前
|
关系型数据库 MySQL Go
工厂模式+自动注册管理Go多包结构体
工厂模式+自动注册管理Go多包结构体
51 1
|
6天前
|
Go
golang使用gorm操作mysql3,数据查询
golang使用gorm操作mysql3,数据查询
|
6天前
|
JSON 前端开发 Java
golang使用gorm操作mysql2
golang使用gorm操作mysql2
|
6天前
|
关系型数据库 MySQL Go
golang使用gorm操作mysql1
golang使用gorm操作mysql1
golang使用gorm操作mysql1
|
6天前
|
JSON Go 数据格式
golang学习7,glang的web的restful接口结构体传参
golang学习7,glang的web的restful接口结构体传参
|
6天前
|
存储 Go 开发者
【Go语言专栏】Go语言中的结构体与方法
【4月更文挑战第30天】Go语言中的结构体是聚合数据类型,用于自定义复杂类型。通过`type`和`struct`关键字定义结构体,包含多个不同类型的字段。结构体实例化后,使用点操作符访问字段。方法为结构体添加行为,定义时需指定接收者(值或指针)。方法调用同样使用点操作符。匿名结构体无需命名,嵌套结构体可构建复杂数据结构。选择值或指针接收者取决于是否需要修改结构体状态。理解并熟练运用结构体和方法是编写高效Go代码的关键。
|
6天前
|
JSON 编译器 Go
Golang深入浅出之-结构体标签(Tags):JSON序列化与反射应用
【4月更文挑战第22天】Go语言结构体标签用于添加元信息,常用于JSON序列化和ORM框架。本文聚焦JSON序列化和反射应用,讨论了如何使用`json`标签处理敏感字段、实现`omitempty`、自定义字段名和嵌套结构体。同时,通过反射访问标签信息,但应注意反射可能带来的性能问题。正确使用结构体标签能提升代码质量和安全性。
20 0