Golang guard(断言)函数命名约定

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

我想知道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 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时所做的。