当我需要切片上的方法时,我必须声明一个新类型。但我该怎么命名呢?
type SliceSomething []Something
或type SomethingSlice []Something
?
由于它被称为“切片”,第一个似乎更好,但自动完成可能更喜欢第二个。
答案 0 :(得分:2)
Go中的变量名称应该短而不是长 对于范围有限的局部变量尤其如此 首选
c
至lineCount
。首选i
至sliceIndex
。基本规则:声明使用名称越远,名称必须越具描述性。
这就是为什么你不会经常在go来源中找到“Slice
”,除了:
encoding/gob/encoder_test.go:335: type recursiveSlice []recursiveSlice
encoding/json/encode_test.go:107: type renamedByteSlice []byte
encoding/json/encode_test.go:108: type renamedRenamedByteSlice []renamedByte
regexp/onepass.go:283: type runeSlice []rune
sort/sort.go:233: type IntSlice []int
sort/sort.go:243: type Float64Slice []float64
sort/sort.go:258: type StringSlice []string
unicode/maketables.go:1118: type runeSlice []rune
因此,如果 在名称中添加“Slice
”,则 type SomethingSlice []Something
而不是type SliceSomething []Something
。
答案 1 :(得分:0)
查看Go source code以获得公认的习语。