In Go, we use the while loop to execute a block of code until a certain condition is met.
Unlike other programming languages, Go doesn't have a dedicated keyword for a while loop. However, we can use the for loop to perform the functionality of a while loop.
Syntax of Go while loop
for condition {
  // code block
}
Here, the loop evaluates the condition. If the condition is:
true- statements inside the loop are executed andconditionis evaluated againfalse- the loop terminates
Flowchart of while loop in Go
	Example: Go while loop
// Program to print numbers between 1 and 5
package main
import ("fmt")
func main() {
  number := 1
  for number <= 5 {
    fmt.Println(number)
    number++
  }
}
Output
1 2 3 4 5
Here, we have initialized the number to 1.
- During the first iteration, the condition 
number <= 5istrue. Hence, 1 is printed on the screen. Now, the value of number is increased to 2. - Again the test condition, 
number <= 5is true. Hence, 2 is also printed on the screen and the value of number is increased to 3. - This process continues until number becomes 6. Then, the condition 
number <= 5will befalseand the loop terminates. 
Create multiplication table using while loop
// Program to create a multiplication table of 5 using while loop
package main
import ("fmt")
func main() {
  multiplier := 1
  // run while loop for 10 times
  for multiplier <= 10 {
    // find the product
    product := 5 * multiplier
    // print the multiplication table in format 5 * 1 = 5
    fmt.Printf("5 * %d = %d\n", multiplier, product)
    multiplier++
  }
}
Output
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
Here, we have initialized the multiplier := 1. In each iteration, the value of the multiplier gets incremented by 1 until multiplier <= 10.
Go do...while Loop
In Go, we can use the same for loop to provide the functionality of a do while loop. For example,
// Program to print number from 1 to 5
package main
import "fmt"
func main(){
  number := 1
  // loop that runs infinitely
  for {
    // condition to terminate the loop
    if number > 5 {
      break;
    }
    fmt.Printf("%d\n", number);
    number ++
  }
}
Output
1 2 3 4 5
Notice the if statement inside the for loop.
if number > 5 {
  break;
}
This statement acts as the while clause inside a do...while loop and is used to terminate the loop.