每循环一次加1
sum := 0
for i := 0; i < 100; i++ {
sum += i
fmt.Println(sum)
}
整数前置补0
for a := 1; a < 10; a++ {
fmt.Printf("%02d" ,a)
01 02 03
int转换成字符串
strconv.Itoa(a)
// Go 的 for 循环有三种形式,只有其中的一种使用分号。
// for init; condition; post { } ← 和 C 的 for 一样
// for condition { } ← 和 while 一样
// for { } ← 和 C 的 for(;;) 一样(死循环)
// 短声明使得在循环中声明一个序号变量更加容易。
// sum := 0
// for i := 0; i < 10; i++ {
// sum += i ← sum = sum + i的简化写法
// } ← i 实例在循环 结束 会失
// 最后,由于 Go 没有逗号表达式,而 ++ 和 – 是语句而不是表达式,如果你想 在 for 中执行多个变量,应当使用 平行赋值。
// // Reverse a
// for i, j := 0, len(a)-1; i < j; i, j = i+1, j-1 { ←平行赋值
// a[i], a[j] = a[j], a[i] ←这里也是
// }
// break 和 continue
// 利用 break 可以提前退出循环,break 终止当前的循环。
// for i := 0; i < 10; i++ {
// if i > 5 { break ←终止这个循环,只打印0到5}
// println(i)
// }
// 循环嵌套循环时,可以在 break 后指定标签。用标签决定 哪个 循环被终止:
//J: for j := 0; j < 5; j++ {
// for i := 0; i < 10; i++ {
// if i > 5 { break J ←现在终止的是j循环,而不是i的那个
// }
// println(i)
// }
//}
// 利用 continue 让循环进入下一个迭代,而略过剩下的所有代码。下面循环打印 了 0 到 5。
// for i := 0; i < 10; i++ {
// if i > 5 { continue ←跳过循环中所有的代码
// println(i)
//
// range
// 保留字 range 可用于循环。它可以在 slice、array、string、map 和 channel。 range 是个迭代器,当被调用的时候,从它循环的内容中返回一个键 值对。基于不同的内容,range 返回不同的东西。 当对 slice 或者 array 做循环时,range 返回序号作为键,这个序号对应的内容作 为值。考虑这个代码:
// list := []string{"a", "b", "c", "d", "e", "f"}
// . . 0
// for k, v := range list {
// . . 1
// //对k 和v做想做的事情
// . . 2
// }
//
//
package main
import (
"fmt"
"strconv"
)
func main() {
//发送get请求
ch := make(chan int, 10)
go func() {
for a := 1; a < 31; a++ {
ch <- a
//url := "http://uuwg278.xyz/Application/Runtime/Logs/Home/22_06_" + strconv.Itoa(a)
////logs := "01.log"
//fmt.Println(url)
}
close(ch)
}()
for v := range ch {
num := strconv.Itoa(v)
if (len(num) == 1) {
num = "0" + num
}
fmt.Printf(num)
url := "http://uuwg278.xyz/Application/Runtime/Logs/Home/22_06_" + num
fmt.Printf(url)
}