for循环

V语言只有for一种循环结构。

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

其中for .. in循环用于迭代遍历数组中每个元素的值。如果同时还需要元素对应的索引的话,可以用for index, value in语法。

  1. mut sum := 0
  2. mut i := 0
  3. for i <= 100 {
  4. sum += i
  5. i++
  6. }
  7. println(sum) // ==> "5050"

这种风格的循环和其它语言中的while循环类似。当循环条件为false的时候结束循环迭代。

同样,循环条件不需要小括弧,而大括弧又是必须的。

  1. mut num := 0
  2. for {
  3. num++
  4. if num >= 10 {
  5. break
  6. }
  7. }
  8. println(num) // ==> "10"

循环的条件可以省略,省略后类似一个无限循环。

  1. for i := 0; i < 10; i++ {
  2. println(i)
  3. }

最后是C语言风格的for循环。这种方式的循环比while循环更安全,因为while循环很容易忘记更新循环的计数器。

这里的i不需要用mut声明,因为这里的变量默认是可变的。