每循环一次加1
sum := 0for i := 0; i < 100; i++ {sum += ifmt.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 mainimport ("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_" + numfmt.Printf(url)}
