Golang guard(断言)函数命名约定
我想知道guard(assert)函数是否有golang命名约定?我在谷歌上搜索了一下,但找不到任何明确的信息。我在《Go编程语言》一书中读到,使用'must'前缀是一种常见的做法 我需要的函数示例:Golang guard(断言)函数命名约定,go,naming-conventions,assert,naming,Go,Naming Conventions,Assert,Naming,我想知道guard(assert)函数是否有golang命名约定?我在谷歌上搜索了一下,但找不到任何明确的信息。我在《Go编程语言》一书中读到,使用'must'前缀是一种常见的做法 我需要的函数示例: package main func divide(a, b int) int { mustNotBeZero(b) return a / b } func mustNotBeZero(n int) { if n == 0 { panic("cannot
package main
func divide(a, b int) int {
mustNotBeZero(b)
return a / b
}
func mustNotBeZero(n int) {
if n == 0 {
panic("cannot divide by zero")
}
}
func main() {
println(divide(5, 0))
}
这不是任何约定的“一部分”,但也使用MustXX()
函数,因此如果您确实需要,这是一个很好的遵循模式
示例:
出口:
- :(在Windows上)
func MustLoadDLL(名称字符串)*DLL
func(d*DLL)MustFindProc(名称字符串)*Proc
- :
func(tg*testgoData)必须(err error)
func(tg*testgoData)必须存在(路径字符串)
func(tg*testgoData)mustNotExist(路径字符串)
- :
func(d*解码器)mustgetc()(b字节,ok bool)
- :
func(s*ss)mustReadRune()(r符文)
- :
func(f标志)必须是(预期种类)
func(f标志)必须导出()
func(f标志)必须可签名()
- :
func(d*LazyDLL)mustLoad()
func(p*LazyProc)mustFind()
mustNotBeZero
guard/assertion:panic时所做的。