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_condicional; pos_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
}
Thanks for sharing this informative article on how to use loop function in Golang development in details. If you have any requirement to Hire GoLang Developers for your project. Please visit us.
ResponderExcluir