跳转至

Go 常见命名单词与区别详解

1. 创建相关

单词 含义 特点/区别 场景 示例
New 返回新实例 常用于构造函数模式,不一定涉及外部资源 返回对象/指针 NewUser(name string) *User
Create 创建并持久化 伴随副作用(写数据库、发请求等) 资源落地、业务创建 CreateUser(ctx, user)
Build 按步骤组装 过程型创建,可有中间状态 复杂对象生成、构造器模式 BuildRequest(cfg)
Init 初始化已有对象 不新建,修改现有实例初始状态 模块启动、复用对象 u.Init(name)
Setup 配置并准备可用 环境准备,可包含 Init 和配置 服务/测试准备 SetupServer(s)
Make Go 关键字 创建 slice/map/channel 集合初始化 make(map[string]string)

2. 获取相关

单词 含义 特点/区别 场景 示例
Get 获取已有数据 主动取回,不关心数据来源 Getter 方法、缓存 GetUser(id)
Fetch 获取并可能更新 常涉及外部请求/耗时操作 HTTP、API 拉取 FetchPostsFromAPI()
Find 搜索并返回匹配项 查找一个或多个符合条件的对象 列表/集合搜索 FindUserByName(name)
Load 从存储加载 来源固定(磁盘、DB、缓存) 文件、配置、持久化数据 LoadConfig(path)
Read 顺序读取 流/文件/网络读取,强调过程 I/O 操作 ReadFile(file)
Query 数据库/结构化查询 可能带条件,返回集合 SQL/搜索引擎 QueryUsers(filter)
Lookup 键值查找 快速定位值,不遍历 Map、索引查找 Lookup(key)

3. 设置与更新

单词 含义 特点/区别 场景 示例
Set 直接赋值 一次性更新某个字段/配置 Setter 方法 SetTimeout(d)
Assign 指派 语义比 Set 更正式,可批量 权限分配、变量赋值 AssignRole(user, role)
Apply 应用配置/操作 批量生效,可能有校验 样式、策略应用 ApplyConfig(cfg)
Update 局部更新 改动已有对象的一部分 数据库更新、状态更新 UpdateUserEmail(id, email)
Modify 修改 同 Update,但多用于内部状态变更 对象变更 ModifySettings(s)
Refresh 刷新数据 从源重新加载最新状态 缓存、列表刷新 RefreshCache()
Replace 替换 完全替换原值 文件替换、全量更新 ReplaceConfig(newCfg)
Patch 补丁式更新 局部改动,不全量替换 JSON Patch、增量更新 PatchUserData(id, patch)

4. 删除与清理

单词 含义 特点/区别 场景 示例
Delete 删除对象 逻辑/物理删除均可 删除用户、记录 DeleteUser(id)
Remove 移除 更偏从集合中移出 列表移除元素 RemoveItem(list, item)
Drop 丢弃 不关心状态,直接放弃 数据库表删除 DropTable(name)
Clear 清空 全部移除 清空缓存 ClearCache()
Purge 彻底清除 不可恢复 历史记录清理 PurgeLogs()

5. 检查与验证

单词 含义 特点/区别 场景 示例
Check 检查条件 简单判断 健康检查 CheckHealth()
Verify 校验真实性 结果需要被信任 签名验证 VerifyToken(token)
Validate 校验合法性 多用于输入/配置 表单验证 ValidateInput(data)
Ensure 确保条件成立 可能包含修复步骤 创建目录(不存在则建) EnsureDirExists(path)
Confirm 确认 用户交互式确认 弹窗确认 ConfirmAction()
Test 测试 单元/集成测试 断言、用例 TestConnection()

6. 转换与处理

单词 含义 特点/区别 场景 示例
Convert 类型转换 保留等价数据 intstring ConvertToString(val)
Transform 结构转换 结构或形态改变 JSON → Struct TransformUserDTO(u)
Cast 强制类型转换 低层级语义,少用 指针类型转换 CastToType(x)
Map 映射 集合元素映射转换 Map 函数 MapStrings(list, fn)
Marshal 序列化 Go → JSON/XML/... json.Marshal(v)
Unmarshal 反序列化 JSON/XML/... → Go json.Unmarshal(data, &v)
Serialize 序列化(通用) 数据结构 → 字节流 Serialize(obj)
Deserialize 反序列化(通用) 字节流 → 数据结构 Deserialize(data)

7. 控制与执行

单词 含义 特点/区别 场景 示例
Run 执行主任务 主流程执行 RunServer()
Do 执行某操作 一般性执行 DoRequest()
Exec 执行命令 系统/SQL/外部程序 ExecCommand(cmd)
Execute 执行 同 Exec,语义更正式 ExecutePlan()
Process 处理 包含多个步骤 ProcessMessage(msg)
Operate 操作 偏业务操作 OperateMachine()

8. 常见布尔前缀

前缀 含义 场景 示例
Is 是否 状态判断 IsActive()
Has 拥有/存在 对象内部状态 HasPermission()
Can 能够/可行 对象 能力/条件 CanRetry()
Should 应该/推荐 操作 规则/策略/推荐 ShouldUpdate()
Allow 允许/可以 检查外部规则或权限 AllowGuest()
Enable/Disable 开关 模块启停 EnableCache()

9. 常用结构体后缀(概念区分)

后缀 语义 区别 示例
Info 信息快照 概览/元数据 FileInfo
Data 核心数据 原始/传输数据 SensorData
Detail 详细数据 完整业务数据 OrderDetail
Stats 统计数据 聚合/分析 UserStats
Summary 摘要 简要报告 OrderSummary
Record 记录 历史条目 LogRecord
Entry 集合项 列表元素 QueueEntry
Config 配置 参数集合 DBConfig
Param 参数 输入参数 LoginParam
Request 请求 API 输入 LoginRequest
Response 响应 API 输出 LoginResponse
Result 结果 操作输出 QueryResult
State 状态 当前状态 TaskState
Status 状态码 枚举化状态 JobStatus
Model 数据模型 ORM/持久化 UserModel
Entity 业务实体 DDD 核心对象 UserEntity
Profile 档案 配置概要/用户资料 UserProfile
Meta 元数据 数据的描述信息 ImageMeta

    • item / elem:更通用的集合元素,没有强调记录或条目性质。
    • node:强调数据结构中的节点(树、链表、图)。
    • record:更偏数据库或日志上下文,比 entry 更正式。
    • entry:介于 item 和 record 之间,既可以是集合元素,也可以是日志/配置条目。

info 内容

meta 描述数据的属性、上下文

词汇 含义 使用场景 示例命名
data 原始数据,可处理/计算 内存存储、数据库记录、文件内容、网络 payload userData, configData, rawData
info 信息、描述性内容、元数据 日志信息、状态信息、事件信息、展示 userInfo, serverInfo, logInfo
val / value 值,单个变量或临时数据 函数内部、循环、临时存储 val := 42, maxValue
item / elem / entry 集合中的元素 列表、切片、map 遍历 for _, item := range list, entry := record
node 节点 树结构、图结构、链表 treeNode, node.next
buf / buffer 缓冲区 I/O、网络、临时存储 buf := make([]byte, 1024)
tmp / temp 临时变量 临时计算、临时存储 tmp := processData()
id / uid / gid / sid 唯一标识符 用户ID、组ID、会话ID userID, sessionID
ts / timestamp 时间戳 记录事件时间 createdAt, updatedAt, expireAt
list / slice / arr 有序集合 切片、数组 userList, itemsSlice
map / dict 键值对集合 内存映射、缓存 userMap, configMap
set 唯一集合 唯一值存储 idSet, uniqueKeys
queue / stack / chan 队列/栈/通道 并发任务、消息处理 jobQueue, eventChan
ctx 上下文 超时、取消、Trace ID ctx := context.Background()
cfg / config / opts / options 配置或选项 系统配置、函数参数 dbConfig, clientOpts
msg / message 消息 网络通信、事件、日志 msg := getMessage(), eventMessage
payload / body 数据载荷 HTTP请求、RPC消息 payload := req.Body
event 事件 系统事件、消息总线 userEvent, jobEvent
record / entry 数据记录 数据库行、日志记录 logEntry, dbRecord
status / state 状态 对象状态、任务状态 taskStatus, serverState
flag 标志 条件控制 isEnabled, hasError
ready / active / enabled / disabled 布尔状态 启用、活动标志 isReady, featureEnabled
ok / success / fail / valid 检查结果 函数返回值、校验 ok, err := check()
Run / Execute / Perform / Do 执行动作 任务、命令、流程 RunServer(), ExecuteJob(), PerformMigration(), doRequest()
Start / Stop / Shutdown / Close 生命周期 启动/停止服务或资源 StartWorker(), StopServer(), Shutdown(), CloseFile()
Get / Fetch / Find / Lookup / Search / List / Scan 读取/查询 内存、缓存、数据库、远程 GetUser(), FetchProfile(), FindItem(), LookupByKey(), SearchUsers(), ListOrders(), ScanRows()
Set / Update / Add / Remove / Delete / Drop / Append / Push / Pop 修改/增删 内存、数据库、集合 SetConfig(), UpdateUser(), AddItem(), RemoveFromCache(), DeleteRecord(), DropTable(), AppendSlice(), PushJob(), PopItem()
Parse / Decode / Unmarshal / Encode / Marshal 解析/序列化 文本、JSON、Protobuf ParseURL(), DecodeJSON(), UnmarshalProto(), EncodeBase64(), MarshalJSON()
Convert / Transform / Format / Normalize / Sanitize 转换/格式化 数据转换、格式化、清理 ConvertMillis(), TransformData(), FormatTime(), NormalizeEmail(), SanitizeHTML()
Check / Validate / Verify / Ensure / Assert / Confirm / Guard 校验/检查 输入验证、业务规则、断言 ValidateInput(), VerifySignature(), EnsureDirExists(), AssertEqual(), ConfirmAction(), GuardPermission()
Send / Post / Publish / Emit / Push / Receive / Read / Pull / Subscribe / Consume 消息/通信 网络请求、事件、消息队列 SendRequest(), PostMessage(), PublishEvent(), EmitSignal(), PushJob(), ReceiveMessage(), ReadFrame(), PullUpdates(), SubscribeChannel(), ConsumeQueue()
Handle / Process / Serve / Dispatch 处理 请求/任务/事件 HandleRequest(), ProcessBatch(), ServeHTTP(), DispatchJob()
Schedule / Enqueue / Work / Await / Wait 并发/调度 任务调度、goroutine管理 ScheduleJob(), EnqueueTask(), Worker.Do(), AwaitCompletion(), WaitAll()