2016-09-20 37 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()功能,所以這是一個很好的模式可循,如果你真的需要這。

實例:

導出:

未導出: