Функция входа не пропускается, хотя она никогда ничего не распечатывает.Строка:
nameCorrect = name
устанавливает nameCorrect таким же, как имя, за которым следует:
for !(nameCorrect == name) {
, который будет выполняться только в том случае, если name и nameCorrect различаются.Вы можете увидеть это, добавив строку:
fmt.Printf("Name: '%s', nameCorrect: '%s', !(nameCorrect == name): %t\n", name, nameCorrect, !(nameCorrect == name))
, которая будет печатать:
Name: '', nameCorrect: '', !(nameCorrect == name): false
Я думаю, вы не хотите иметь строку nameCorrect = name
.