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 關注
- 253 瀏覽
添加回答
舉報