全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 19 道配套习题

模型标签与字段配置专题

专题说明

本专题聚焦于 GORM 模型中的标签(gorm tag)和字段配置。通过 19 道精选题目,系统讲解 gorm tag 的基本语法、支持的配置项、默认值设置、字段忽略与只读控制、索引标签配置等知识点。帮助读者掌握如何精确控制 Go 结构体与数据库表之间的映射关系。

学习目标

  1. 掌握 gorm tag 的基本语法和常用配置项
  2. 学会使用 default 标签设置字段默认值
  3. 理解字段忽略和只读配置的使用场景
  4. 掌握索引标签的配置方法

学习内容

本专题涵盖以下知识点:

  • gorm tag 使用:基本语法、配置项、多配置组合
  • 标签配置默认值:default 语法、时间字段默认值、应用场景
  • 字段忽略与只读配置:gorm:"-":gorm:"->"、写入控制
  • 索引标签配置:普通索引、唯一索引、自定义索引名、部分索引

学习建议

  1. 在实际项目中练习 gorm tag 的配置,观察 AutoMigrate 生成的表结构
  2. 重点关注字段忽略和只读配置在查询与写入时的不同行为
  3. 索引配置时注意自定义索引名和部分索引的使用场景

📝 发现内容有误?点击此处直接编辑

📝 配套习题(19 题)

1
单选题

在 GORM 模型中,如何为字段设置数据库列名?

A

json:"column_name"

B

gorm:"column:column_name"

C

db:"column_name"

D

sql:"column_name"

2
多选题

以下哪些是 GORM 的 gorm tag 支持的配置项?

A

column 指定列名

B

type 指定数据库类型

C

primaryKey 设置为主键

D

json 设置 JSON 格式

3
判断题

一个字段的 gorm tag 可以同时配置多个选项,如 gorm:"column:user_name;type:varchar(100);index"

A

B

4
单选题

如何在 GORM 模型中为字段设置数据库默认值?

A

gorm:"default:'张三'"

B

default:"张三"

C

gorm:"value:'张三'"

D

sql:"default:张三"

5
多选题

以下关于 GORM 默认值标签的描述,哪些是正确的?

A

默认值在 AutoMigrate 时应用到数据库

B

插入记录时,如果字段为空会自动使用默认值

C

默认值只在数据库层面生效,不影响 GORM 行为

D

可以使用 current_timestamp 设置时间默认值

6
填空题

为时间字段设置默认值为当前时间,可以使用 gorm:"default:_________________",这在________________等数据库中都支持。

7
单选题

如何在 GORM 模型中忽略某个字段,使其不被映射到数据库?

A

gorm:"ignore:true"

B

gorm:"-"

C

将字段设为私有(小写开头)

D

gorm:"skip:true"

8
多选题

以下哪些是 GORM 支持的字段忽略或只读配置?

A

gorm:"-" 完全忽略字段

B

gorm:"->" 只读字段(查询时加载,插入/更新时忽略)

C

gorm:"<-:create" 只在创建时写入

D

gorm:"<-:update" 只在更新时写入

9
判断题

使用 gorm:"->" 配置的字段的字段,在 Create 和 Update 操作时不会被写入数据库,但在 Query 操作时可以正常加载。

A

B

10
单选题

如何在 GORM 模型中为字段创建普通索引?

A

gorm:"index"

B

gorm:"unique"

C

gorm:"primary_key"

D

index:"idx_name"

11
多选题

以下哪些是 GORM 索引标签支持的配置?

A

gorm:"index:idx_name" 自定义索引名称

B

gorm:"index:,sort:desc" 指定索引排序方向

C

gorm:"index:,where:status = 1" 创建部分索引

D

gorm:"uniqueIndex" 创建唯一索引

12
填空题

创建复合索引可以使用 gorm:"index:idx_name_composite" 为多个字段设置______________,GORM 会自动创建________

13
单选题

如何为 GORM 模型的 Name 字段创建普通索引?

A

gorm:"index"

B

gorm:"uniqueIndex"

C

gorm:"primary_key"

D

gorm:"autoIncrement"

14
多选题

以下哪些方式可以创建复合索引(多列索引)?

A

gorm:"index:idx_name_age"

B

gorm:"index:idx1"

C

gorm:"composite_index:idx_name_age"

D

相同索引名的字段自动组合为复合索引

15
判断题

使用 gorm:"uniqueIndex" tag 可以创建唯一索引,确保列值不重复。

A

B

16
单选题

如何为 Status 字段设置默认值为 1?

A

gorm:"default:1"

B

default:"1"

C

gorm:"init:1"

D

Status int = 1

17
单选题

如何让 GORM 忽略某个结构体字段,不映射到数据库列?

A

gorm:"-"

B

gorm:"ignore"

C

json:"-"

D

db:"skip"

18
多选题

以下哪些方式可以配置只读字段(查询时读取,创建/更新时忽略)?

A

gorm:"->"

B

gorm:"<-:false"

C

gorm:"readOnly"

D

gorm:"write:false"

19
填空题

密码字段可以配置为只写(创建时写入,查询时不返回),使用 gorm 标签____________

← 上一个专题 数据迁移与版本管理专题
下一个专题 → 源码分析与底层原理专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库