2016-09-20 100 views
1

我想知道是否有守卫(assert)函数的golang命名约定?我搜索了一下,但找不到任何明确的。我在“The Go Programming Language”一书中读到了使用'must'前缀的习惯。功能Golang守护(assert)函数命名约定

例子,我需要:

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)) 
} 
+0

嗯,这个例子我有点奇怪,因为它没有'mustNotBeZero'的警戒/断言:恐慌就会发生。 – Volker

回答

1

这不是任何公约“的一部分”,但standard library还采用MustXX()功能,所以这是一个很好的模式可循,如果你真的需要这。

实例:

导出:

未导出: