Go for and for range
for
Go for is a loop control structure that allows executing a block of code a specified number of times. It comes in three main forms:
for init; condition; post {
//...
}
//the common for loop
for i := 0; i < n; i++ {
fmt.Println(i)
}
##########################################
for condition {
//...
}
//similar to while (n > 0) and for (; n > 0;)
for n > 0 {
fmt.Println(n)
n--
}
##########################################
for {
//...
}
//similar to while (true) and for (;;)
for {
fmt.Println("*")
}
for range
For range acts like an iterator, iterating over elements of a slice, array, string, map, or channel. It returns either (index: value) pairs for slices, arrays, and strings, or (key: value) pairs for maps. For channels, it iterates over the values sent on the channel.
//variable can be string、array/slice、map、channel
for key, value := range variable {
//...
}
Differences between For and For Range
For range can do everything that a regular for loop can do, but it also allows traversing maps with string keys and channels, which a regular for loop cannot do directly.
break、continue、goto
These loop statements compared to other languages:
- break: To exit the current for or for range loop
- continue: To skip the rest of the current iteration and proceed to the next iteration
- goto: Unconditional jumps to labeled statements are possible but generally discouraged in Go due to their potential to make code harder to understand and maintain.
Take a break
👉👉👉 【Jade Dynasty EP47】Gui Li and Xiao Bai went shopping, Jin Ping'er vs Lu Xueqi, Jin Ping'er vs Li Xun