Go中函数参数的后递增运算符,不可能吗?

时间:2014-04-23 22:52:22

标签: go

为什么Go(1.2.1)中有效?

package main

import (
    "fmt"
)

func main() {
    var i = 0
    for i < 10 {
        fmt.Println(i)
        i++
    }
}

但是(在函数参数中使用increment运算符)不是吗?

package main

import (
    "fmt"
)

func main() {
    var i = 0
    for i < 10 {
        fmt.Println(i++)
    }
}

1 个答案:

答案 0 :(得分:18)

在Go中,i++是一个语句,而不是表达式。所以你不能在另一个表达式中使用它的值,比如函数调用。

这消除了后增量和预增量之间的区别,后者是混乱和错误的来源。