Help if/else

I dont understand why this is not working!

it says else withou previous if

int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
int led5 = 9;
int switchPin = 7;

void setup()
{
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(switchPin, INPUT);
}


void loop()
{
  if (digitalRead(switchPin) == HIGH);
   {
    goto knightRider;
   }
  else
  {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);
  }
}



knightRaider:
{
  digitalWrite(led1, HIGH);
  delay(100);
  digitalWrite(led1, LOW);
  digitalWrite(led2, HIGH);
  delay(100);
  digitalWrite(led2, LOW);
  digitalWrite(led3, HIGH);
  delay(100);
  digitalWrite(led3, LOW);
  digitalWrite(led4, HIGH);
  delay(100);
  digitalWrite(led4, LOW);
  digitalWrite(led5, HIGH);
  delay(100);
  digitalWrite(led5, LOW);
  digitalWrite(led4, HIGH);
  delay(100);
  digitalWrite(led4, LOW);
  digitalWrite(led3, HIGH);
  delay(100);
  digitalWrite(led3, LOW);
  digitalWrite(led2, HIGH);
  delay(100);
  digitalWrite(led2, LOW);
  digitalWrite(led1, HIGH);
  digitalWrite(led1, LOW);
  
}
if (digitalRead(switchPin) == HIGH);

Lose the semicolon.
Then lose the goto.

the "goto" instruction is generally frowned upon in high level languages (anything above assembly code really) as it causes alot of problems, particularly for beginners, because of code readability, and sometimes causes unexpected errors. For this kind of code you should use a function call:

void loop()
{
  if (digitalRead(switchPin) == HIGH)
   {
       knightRider();
   }
  else
  {
    //do something else
  }
}

void knightRaider()
{
    //Stuff here
}