package main
func main(){
for index:=0; index < 10; index++{
println(index)
}
}
一般的for
样式,不过条件无括号,操作括号不可缺。
public static void main(String[] args){
int value = 0;
for (;;){
System.out.println(value++);
if( value > 10){
break;
}
}
}
在其他语言之中,for
的操作空间已经极大提升,就算是你使用的是while
,反编译之后你会发现也是for
。
func main(){
var value int = 0
for {
if value++;value > 10 {
break
}
println(value)
}
}
如果不带任何条件的话,默认就是while(true)
。
当然,原来的for
属性,你也依旧可以玩出花样
package main
func main(){
value := 0
for value < 10 {
value++
println(value)
}
}
func main(){
for value :=0; value < 10;value++{
println(value)
}
}
反正正如if
和case
,for
和while
也是一对,for
总有办法替换while
。
package main
func main(){
var arr [10]int
for index:=0; index < len(arr); index++ {
arr[index] = index
}
for _, value := range arr{
println(value)
}
}
配合range
,就可以使用为forEach
的结构了。
continue
:结束本次操作,继续循环break
:跳出循环这个不用说了吧
package main
import (
"fmt"
"math/rand"
"strconv"
)
func main(){
var guess int
for{
answer := rand.Intn(100)
for {
fmt.Println("guess your number(0-99)")
fmt.Scanln(&guess)
if answer == guess {
fmt.Println("good game, your are right, answer is "+ strconv.FormatInt(int64(guess), 10))
break
} else if guess > answer {
fmt.Println("guess is bigger")
} else {
fmt.Println(" guess is smaller")
}
}
fmt.Println("continue ? (1/0)")
fmt.Scanln(&guess)
if guess == 0 {
break
}
}
}
package main
import "fmt"
func main(){
for a := 1; a < 10; a++ {
for b := 1; b <= a; b++ {
fmt.Printf("%d*%d=%d\t", a, b, a*b)
}
fmt.Println()
}
}
package main
import (
"fmt"
)
func main(){
var layer int
fmt.Scanln(&layer)
for index := 0; index <= layer; index++ {
space(layer - index)
for line := 0; line <= index; line++ {
printStar()
space(1)
}
newLine()
}
}
func space(count int){
for index:=0; index < count; index++ {
print(" ")
}
}
func printStar(){
print("*")
}
func newLine(){
println()
}