53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Loops
 | |
| localeTitle: Bucles
 | |
| ---
 | |
| # Para bucle en Go
 | |
| 
 | |
| Go tiene solo `for` loop. El básico `for` bucle tiene tres componentes separados por `;` -
 | |
| 
 | |
| *   La sentencia **init** : ejecutada antes de la primera iteración.
 | |
|     
 | |
| *   La expresión de **condición** : evaluada antes de cada iteración.
 | |
|     
 | |
| *   La declaración **posterior** : se ejecuta al final de cada iteración.
 | |
|     
 | |
| 
 | |
| La declaración de **inicio** es a menudo una declaración de variable corta. Las variables declaradas allí son visibles solo en el alcance de la declaración `for` . El bucle deja de iterar una vez que la condición booleana se evalúa como falsa.
 | |
| 
 | |
| A continuación se muestra un ejemplo del bucle `for` :
 | |
| 
 | |
| **abstenerse de**
 | |
| 
 | |
| ```go
 | |
| package main 
 | |
|  
 | |
|  import "fmt" 
 | |
|  
 | |
|  func main() { 
 | |
|     sum := 0 
 | |
|     for i := 0; i <= 10; i++ { 
 | |
|         sum += i 
 | |
|     } 
 | |
|     fmt.Println("The sum of first 10 natural numbers is", sum) 
 | |
|  } 
 | |
| ```
 | |
| 
 | |
| Ejecutar el programa anterior produce una salida similar a la siguiente salida: \`\` \`  
 | |
| $ ve a correr para. La suma de los primeros 10 números naturales es 55.
 | |
| ```
 | |
| You can use `continue` and `break` to adjust the loops flow 
 | |
| ```
 | |
| 
 | |
| ir // este código imprime cualquier número impar hasta 5 para n: = 0; n <= 10; n ++ { si n% 2 == 0 { // si el número es par a saltar al siguiente n continuar } fmt.Println (n) // si el número es 5 sal del bucle si n == 5 { descanso } }
 | |
| ```
 | |
| If you want to create an infinite loop just use `for { }` 
 | |
| ```
 | |
| 
 | |
| ir para { // Whill loop hasta que una condición rompa el loop romper // salir del bucle }
 | |
| ```
 | |
| ## Replacement for while-loop 
 | |
|  To simulate while-loop of other languages, you can simply exclude the **init** and **post** statement: 
 | |
| ```
 | |
| 
 | |
| ir func main () { num: = 1 para num <= 1000 { num \* = 2 } fmt.Println ("La potencia más pequeña de 2 sobre 1000 es", num) } \`\` \` |