Страницы

Поиск по вопросам

среда, 27 февраля 2019 г.

Как в Golang прервать выполнение кода?

Как в Golang прервать выполнение кода? Аналог exit()/die() в PHP.
Есть
func Index(w http.ResponseWriter, r *http.Request) { parametr=0 if parametr!="1" { fmt.Fprintln(w, "Параметр=1") } fmt.Fprintln(w, "текст после проверки") //Я хочу это не отображать,если parametr!="1" }
Нужно, если параметр не 1, то выйти из функции (но не из приложения вообще). Можно, конечно, поставить else, но везде тогда делать обёртки? Или можно как-то выйти из функции?


Ответ

выход
func os.Exit(code int)
Exit causes the current program to exit with the given status code. Conventionally, code zero indicates success, non-zero an error. The program terminates immediately; deferred functions are not run.
мой вольный перевод:
Exit вызывает завершение текущей программы с указанным кодом завершения. принято считать, что код 0 означает успешное завершение, а не-нулевой код означает ошибку. программа завершается немедленно, отложенные функции не вызываются.
возврат
return [ ExpressionList ]
A "return" statement in a function F terminates the execution of F, and optionally provides one or more result values. Any functions deferred by F are executed before F returns to its caller.
мой вольный перевод:
оператор "return" в функции "F" прерывает выполнение "F" и (опционально) возвращает один или более результатов. любые функции, «отложенные» функцией "F", выполняются перед тем, как управление вернётся в вызывавшую "F" функцию.
примеры:
func noResult() { return }
func simpleF() int { return 2 }
func complexF1() (re float64, im float64) { return -7.0, -4.0 }

Комментариев нет:

Отправить комментарий