For循环


V语言中只有一个循环结构for

fn main() {
	numbers := [1, 2, 3, 4, 5]
	for num in numbers {
		println(num)
	}
	names := ['Sam', 'Peter']
	for i, name in names {
		println('$i) $name')  // Output: 0) Sam
	}                             //         1) Peter
}

for...in循环用于遍历数组的元素。如果需要索引,则可以使用 for index,value in 的形式。


fn main() {
	mut sum := 0
	mut i := 0
	for i <= 100 {
		sum += i
		i++
	}
	println(sum) // ==> "5050" 
}

这种形式的循环类似于其他语言中的 while 循环。一旦布尔条件求值为false,循环将停止迭代。

同样,和if类似,循环的条件没有括号,而循环体需要。


fn main() {
	mut num := 0
	for {
		num++
		if num >= 10 {
			break
		}
	}
	println(num) // ==> "10" 
}

循环条件可以省略,这会导致无限循环。


fn main() {
	for i := 0; i < 10; i++ {
		println(i)
	}
}

最后,还有传统的C风格循环。 它比while形式更安全,因为后者很容易忘记因更新计数器而陷入死循环。

在这里i不需要用 mut 声明,因为它在每次循环中都被重新定义并赋值。