切片类型 fields/variables 的命名约定

Naming convention for fields/variables of type slice

对于一片 int ID,变量或结构字段的名称应该是什么?

例如,具有 []int 类型用户 ID 列表的结构:

type Result struct {
  UserIDs []int
}

或没有尾随 s:

type Result struct {
  UserID []int
}

很多 go 库都为类型切片创建类型别名,例如

type Tokens = []Token

考虑到这一点,我会说 UserIDs 是正确的命名约定

名称应该描述变量的内容。你的字段内容是多个用户ID,所以命名为UserIDsUserID 描述单个用户 ID。

使用复数形式还可以方便地遍历切片并为循环变量使用单数形式,例如:

for _, userID := range result.UserIDs {
    // Do something with it
}

视情况而定。

如果[]int表示单个用户ID,由多个int组成,则UserID是正确的名称。

如果[]int表示多个用户ID,每个用户ID由一个int表示,那么UserIDs是正确的名称。

这里没有特殊的逻辑。这里没有与 Go 相关的内容。这只是英语。