# Golang program to check the given number is the perfect number or not using goto statement

Here, we are going to learn how to check the given number is the perfect number or not using goto statement in Golang (Go Language)?
Submitted by Nidhi, on March 01, 2021

Problem Solution:

In this program, we will read an integer number and check the entered number is perfect or not using the goto statement.

Perfect Number: A perfect number is a positive integer number, which is equal to the sum of its positive divisors, except itself.

Program/Source Code:

The source code to check the given number is a perfect number or not using the goto statement is given below. The given program is compiled and executed successfully.

```// Golang program to check the given number is a perfect number
// or not using the goto statement

package main

import "fmt"

func main() {
var num int = 0
var count int = 1
var sum int = 0
var rem int = 0

fmt.Print("Enter Number: ")
fmt.Scanf("%d", &num)

Repeat:
rem = num % count
if rem == 0 {
sum = sum + count
}
count = count + 1
if count < num {
goto Repeat
}

if num == sum {
fmt.Print("Given number is perfect number")
} else {
fmt.Print("Given number is not perfect number")
}
}
```

Output:

```RUN 1:
Enter Number: 28
Given number is perfect number

RUN 2:
Enter Number: 125
Given number is not perfect number
```

Explanation:

Here, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the fmt package that includes the files of package fmt then we can use a function related to the fmt package.

In the main() function, we created four variables num, count, sum, rem  that are initialized with 0, 1, 0, 0 respectively and also created a label Repeat. Here, we checked entered number is the perfect number or not using the goto statement and then print the appropriate message on the console screen.