3 回答
TA贡献1858条经验 获得超8个赞
这些名称与 Go 的设计命名不一致。Go 的创造者之一 Rob Pike谈到了 OS 包中的名称:
有不一致之处,但这是关键点。它应该是 Stdout 而不是 StdOut,因为该名称来自底层系统。同样,它是 Fprintf 而不是 FPrintf 或 FPrintF,因为这是一个非常熟悉的名字。这些名字是进入 Go 的,而不是在那里创建的,最初的上限是入场费。
在 Go 的未来版本中不会更改这些名称。
TA贡献1851条经验 获得超3个赞
在我们真正弄清楚命名约定应该是什么之前,选择了很多全小写的名称。我们采用的规则(稍后可能值得重新审视)是 package osor中的入口点,syscall以 C 中的等价物命名,在开头只有一个大写,以避免需要决定内部大写在缩写中的位置,例如geteuid 或getwd或chdir。像 那样的名称Readdirnames是实际的单词,在某些时候可能值得重新审视。
拉斯
关于“ os”包中使用的函数的大小写是否有任何规则?仔细看,这听起来不是很容易回想是否应该调用给定的函数LikeThat或 Likethat.
例如:
Mkdir
MkdirAll
TempDir
Getenv
ForkExec
Readlink
ReadAt
Readdir
感觉很特别,很难回想起来。
这是一个已知问题。这是计划外的。
TA贡献1860条经验 获得超8个赞
术语“getter”指的是结构上的方法,这些方法允许您读取该结构上(通常是未导出的)字段的值。您指向的函数是顶级函数,允许您从 OS读取值。该惯用规则与本案无关。
- 3 回答
- 0 关注
- 227 浏览
添加回答
举报