【go】++/--不是操作符

来源:互联网 发布:ios程序员培训 编辑:程序博客网 时间:2024/06/05 11:15

在go中,++/--并不像在c中作为操作符,而是作为语句出现。下面是一个关于Print的范例:

package main

import(
"fmt"
)

var num int = 0

func main(){
origin := num
fmt.Println(num + 1)
//fmt.Println(num++)
fmt.Printf("num--: %v, num: %v, num++: %v\n", SubSelf(), origin, AddSelf())
fmt.Printf("%d\n", func ()int{
num++
return num
}())
fmt.Println(num + 1)
}

func SubSelf() int{
num--
return num
}

func AddSelf() int {
num++
return num
}
在c中,

printf("%d", num++);

这样的语句是合法的,而在go中不被允许。因此,也不再有num++河++num的区别,只有前者是合法的。如果仍然想使用printf("%d", num++);的语法,只好参照范例代码,使用函数或者匿名函数(闭包)。