2016-09-20 8 views
1

Мне интересно, существует ли соглашение о присвоении имен golang для функций guard (assert)? Я немного искал Google, но не смог найти ничего окончательного. Я читал в книге «Язык программирования Go», что использование префикса «must» - обычная практика.Golang guard (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() функции, так что это хороший образец для подражания, если вы действительно нуждаетесь в этом ,

Примеры:

вывезенных:

неэкспортируемыми: