Syntax error unexpected else expecting
За закрывающей скобкой if инструкции “}” должно немедленно следовать else заявление, если таковое имеется. Запись else в отдельной строке (как мы делаем в Python, C, Java и т.д.) Приведет к созданию SyntaxError в Go.
Пример:
package main
import (
“fmt”
“math”
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
}
else { // misplaced “else” statement
fmt.Printf(“%g >= %g\n”, v, lim)
}
// can’t use v here, though
return lim
}
func main() {
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
Вывод: prog.go:12:2: синтаксическая ошибка: неожиданное другое, ожидаемое }
Ответ
Привет,
вышеуказанное поведение является ожидаемым. Оператор “else” должен быть в той же строке, что и закрывающая скобка соответствующего “if”. Аналогично, открывающая скобка if должна быть в той же строке, что и “if”. В противном случае запуск такого кода должен привести к ошибке. Однако открывающая скобка else может быть в новой строке. Всегда полезно запускать go fmt в коде перед запуском кода, чтобы отформатировать код в соответствии со стандартами go и выявить любые возможные синтаксические ошибки.
BR.
Почему не работает оператор else на vs code на языке php
<?php
$a = 3;
$str = “heloo”;
if ($str == “heloo”);
echo “YES”;
else “NO”;
?>
// выводит это Parse error: syntax error, unexpected ‘else’ (T_ELSE), expecting end of file in C:\OpenServer\domains\my-php\index.php on line 6
Ответ
попробуй так
$str = “блаблабла”;
if($str === “блаблабла”) {
echo “yes”;
} else {
echo “no”;
}
скобки очень важны…
$str = “heloo”;
if ($str == “heloo”):
echo “YES”;
else:
echo “NO”;
endif;
How to remove parse error: syntax error, unexpected ‘else’ (T_ELSE), expecting end of file in C:\xampp\htdocs\ma.php on line 10
$emailErr
<?php = ” “;
$электронной почты = ” “;
$errors = 0;
if ($_SERVER [“REQUEST_METHOD”] == “POST”)
{
if (пустой ($_POST [“email”]))
{
$emailErr = “Требуется электронная почта”;
$errors = 1;
}
else
{
$email = test_input ($_POST [“email”]);
if (!filter_var ($email , FILTER_VALIDATE_EMAIL))
{
$emailErr = “недопустимый формат”;
$errors = 1;
}
}
}
?>
Что я пробовал:
я попытался удалить else и убрать пробелы между точками с запятой
Решение
if (пустой ($_POST [“email”]));
Эта строка представляет пустое if – из-за ; в конце – поэтому фактическая структура кода отличается от того, что вы можете ожидать!
Убедитесь, что все совпадает, даже после соответствующих изменений;
В строке 10 нет ‘else’.
Научитесь правильно делать отступы в своем коде, это покажет его структуру, и это поможет чтению и пониманию. Это также помогает выявлять ошибки в структурах.
$emailErr
<?php = ” “;
$электронной почты = ” “;
$errors = 0;
if ($_SERVER [“REQUEST_METHOD”] == “POST”)
{
if (пустой ($_POST [“email”]))
{
$emailErr = “Требуется электронная почта”;
$errors = 1;
}
else
{
$email = test_input ($_POST [“email”]);
if (!filter_var ($email , FILTER_VALIDATE_EMAIL))
{
$emailErr = “недопустимый формат”;
$errors = 1;
}
}