Mostrando postagens com marcador completo. Mostrar todas as postagens
Mostrando postagens com marcador completo. Mostrar todas as postagens

sábado, 22 de setembro de 2018

Programando em Go (Golang) - Loop For



Uma estrutura de laço executa uma determinada ação até que um certo requisito deixe de ser verdadeiro e passe a ser false(falso).
Em Go (golang) existe somente a estrutura de laços for.

For completo


O laço completo é aquele no qual tem todos os três parâmetros do mesmo (inicializador, expressão_condicional, pos_execucao).

Sintaxe básica:


for inicializador; expressao_condicional; pos_execucao{
 //corpo do laço
}

Onde:

  • inicializador - Ação incial na primeira integração do for
  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • pos_execucao - ação a se executada toda vez que o laço for integrado
  • corpo do laço - Ações que serão executadas dentro do laço.


Observações


Vale lembrar que a variável criada no inicializador existe somente dentro do laço for. Ao contrário de outras linguagens é obrigatório a utilização das chaves { } para delimitar o corpo do laço.

Exemplo:


package main

import "fmt"

func main() {
mult := 2
for i := 0; i < 10; i++ {

fmt.Printf("\n%d * %d = %d",i,mult,mult*i)
}
}

Saída da execução do programa:




For sem inicializador


O laço sem inicializador é aquele no qual tem dois dos três parâmetros do mesmo (expressão_condicional, pos_execucao).

Sintaxe básica:

for expressao_condicionalpos_execucao{
 //corpo do laço
}


Onde:

  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • pos_execucao - ação a se executada toda vez que o laço for integrado
  • corpo do laço - Ações que serão executadas dentro do laço.


Exemplo:

No exemplo abaixo foi removido a variavel i do inicializador.

package main

import "fmt"

func main() {
mult := 2
                   i:=0
for ; i < 10; i++ {


fmt.Printf("\n%d * %d = %d",i,mult,mult*i)

}
}


For continuo


O laço no qual há apenas o parametro de expressao_condicional.

Sintaxe básica:


for expressao_condicional{
 //corpo do laço
}

Onde:

  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • corpo do laço - Ações que serão executadas dentro do laço.


Exemplo:

No exemplo abaixo foi removido a variável i do inicializador e também o do pos_execução.

package main

import "fmt"

func main() {
mult := 2
                   i:=0
for ; i < 10;  {



 fmt.Printf("\n%d * %d = %d",i,mult,mult*i)
         i+=1   
}
}



Usando for como while


Assim como for continuo o for como while tem somente o bloco de condicional

Sintaxe básica:


for expressao_condicional{
 //corpo do laço
}


Onde:

  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • corpo do laço - Ações que serão executadas dentro do laço.


Exemplo:

No exemplo abaixo foi removido a variável i do inicializador e também o do pos_execução.

package main

import "fmt"

func main() {
mult := 2
                   i:=0
for i < 10  {


 fmt.Printf("\n%d * %d = %d",i,mult,mult*i)
         i+=1   
}
}


For infinito


É aquele for que não nenhum de seus blocos.

Sintaxe básica:


for {
 //corpo do laço
}