Мой цикл for прекратил обработку из-за моего оператора if

#for-loop #if-statement #go

#for-loop #if-statement #Вперед

Вопрос:

Я хотел получить все свои позиции, используя цикл for

 for i := 0; i < len(word)-1; i   {

    j := i   1

    fmt.Println(i, j)
}
  

если я просто обработаю вышеуказанную функцию, выходные данные будут такими, какие я хотел, пока я не начал вставлять этот оператор if

 if word[i]-word[j] == 0 || word[i]-word[j] == 1 || word[i]-word[j] == 2 || word[i]-word[j] == 3 || word[i]-word[j] == 255 || word[i]-word[j] == 254 || word[i]-word[j] == 253 {
    return word
} else {
    return " "
}
  

Мой цикл for останавливается только после обработки одной буквы в слове, которая равна 0 от i и 1 от j

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

1. Вы return , так почему вы удивлены результатом?

Ответ №1:

вы if и else вызываете return и возвращаете значение, при использовании return функция завершит работу и вернет значение

если вы используете fmt.Println() вместо return все будет напечатано