首页/文章/Golang

golang中,json和gorm tag的取值

2023-05-05
7183 分钟
...

倾泠雪帝: golang中struct有tag,json都有哪些值

Ai.小助手: 在Golang中,struct的tag可以用于标记字段的元数据,其中最常用的是用于JSON序列化和反序列化的tag。下面是一些常见的JSON tag:

  • json:"-":将该字段忽略,不进行序列化和反序列化。
  • json:"fieldName":指定该字段在JSON中的名称。
  • json:",omitempty":如果该字段为零值或空值,则忽略该字段。
  • json:"fieldName,omitempty":将该字段在JSON中的名称指定为fieldName,并在该字段为零值或空值时忽略该字段。
  • json:"fieldName,string":将该字段在JSON中的值转换为字符串类型。
  • json:"fieldName,omitempty,string":将该字段在JSON中的名称指定为fieldName,并将该字段在JSON中的值转换为字符串类型,并在该字段为零值或空值时忽略该字段。

除了上面列举的常见JSON tag,还有其他一些可用的tag,如json:",string"表示将所有字段的值都转换为字符串类型。

倾泠雪帝: gorm的tag都有哪些,全部列出来

Ai.小助手: GORM是一个Go语言的ORM库,支持MySQL、PostgreSQL、SQLite、SQL Server等多种数据库,它也有自己的一套tag规则。下面是一些常见的GORM tag:

  • gorm:"column:columnName":指定字段在数据库中的列名。
  • gorm:"primary_key":将该字段设置为主键。
  • gorm:"auto_increment":将该字段设置为自增长。
  • gorm:"not null":将该字段设置为非空。
  • gorm:"unique":将该字段设置为唯一。
  • gorm:"default:defaultValue":指定该字段在数据库中的默认值。
  • gorm:"size:255":指定该字段在数据库中的大小。
  • gorm:"type:varchar(100)":指定该字段在数据库中的类型。
  • gorm:"index":为该字段创建索引。
  • gorm:"uniqueIndex":为该字段创建唯一索引。
  • gorm:"embedded":将该字段嵌入到父结构体中,即嵌入式结构体。
  • gorm:"associationForeignKey:ForeignKey":指定关联外键。

除了上面列举的常见GORM tag,还有其他一些可用的tag,如gorm:"default:CURRENT_TIMESTAMP"表示将该字段在数据库中的默认值设置为当前时间戳。

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
Golang2026-04-10
golang文档
1\. Go 是什么 Go 是一种 强类型、垃圾回收、原生支持并发 的编程语言。代码由 package 组成;用 module 管理依赖;可执行程序通常从 package main 的 main() 函数开始运行。Go 官方一直强调兼容性,Go 1.26 也继续保持 Go 1 的兼容承诺。 最小可运行程序: 这里你已经看到了 Go 最核心的 3 个语法点: package 声明包、import 导入包、func 声明函数。main 包里...
学习
Golang2026-02-26
阿里云服务器Go环境终极优化:从“卡到绝望”到“秒级下载”的完整复盘
记录一次与HTTP/2、劫持脚本和云厂商镜像的深度博弈 | 2026年2月26日 摘要 :在阿里云ECS部署Go项目时遭遇 永久卡死,历经代理配置、镜像切换、环境变量调试等7轮排查,最终定位到 阿里云VPC网络HTTP/2缺陷+系统Go命令劫持 双重陷阱。本文完整复盘排查路径,附带zsh专属配置方案与跨云厂商适配指南,助你5分钟搭建100%稳定的Go开发环境。 🔍 问题现象:熟悉的“卡死”噩梦 服务器:阿里云ECS(华东1区,Ubun...
Golang2025-07-11
Go语言strconv包:字符串和数值类型的相互转换
在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string、int、int64、float 等数据类型之间的转换,Go语言中的 strconv 包为我们提供了字符串和基本数据类型之间的转换功能。 strconv 包中常用的函数包括 Atoi()、Itia()、parse 系列函数、format 系列函数、append 系列函数等,下面就来分别介绍一下。 string 与 int 类型之间的转换 字符串和整型之间的转换是我们平...
学习
Golang2025-06-11
深入理解 Go 中的 new() 和 make() 函数
在 Go 语言中, 和 是两个常用的函数,用于创建和初始化不同类型的变量。本文将深入探讨 和 的区别、使用场景以及底层实现原理。 引言 Go 中的 和 函数是用于创建和初始化变量的重要工具。 用于创建指定类型的零值变量,并返回该变量的指针。 用于创建并初始化引用类型的变量,如切片、映射和通道。 函数 函数的基本语法及用法。 创建的变量是指定类型的零值,并返回该变量的指针。 适用于创建引用类型以外的其他类型变量。 函数 函数的基本语法及用...
学习
Golang2025-06-10
Ubuntu 升级 golang 版本完美步骤
一、删除旧的版本(可选) 二、下载最新版本 三、设置环境变量 1、打开profile: 2、添加以下变量: 3、是环境立即生效 4、将环境立即生效载入脚本 先打开文件这个文件: 加入这个命令: 四、查看 go 环境变量 五、GO111MOUDLE和更改GOPROXY 六、查看 go 版本 ⚙️
学习
Golang2025-06-05
Go 自动升级依赖版本
🚀 Go 自动升级依赖版本 在 Go 语言项目中,依赖管理使用 Go Modules ( 和 )。如果想要 自动升级依赖 ,可以使用以下方法。 1\. 方式 1:升级所有依赖 🔹 作用: :升级所有 Go 依赖到最新的 次要版本(minor)或补丁版本(patch) 。 :升级所有项目内的依赖。 2\. 方式 2:升级指定依赖 🔹 作用: 只升级 这个依赖到最新版本。 如果你需要升级到 最新的主要版本(major version)...
学习

评论

请登录后发表评论

去登录
加载评论中...