Go复习之短声明 no new variable on left side of :=

在同一个函数中,同一个变量,不能重复声明。否则会编译异常:no new variable on left side of :=

那么如何才算是new variable on left side of :=?

如果左边定义了多个变量,则多个变量的组合中,只要有一个不同,如下,就能正常编译:

    a,b := 1,2
    c,b :=2,3
    fmt.Println(a,b,c)

如果出现了匿名变量,则其它变量只要出现在其它声明中,编译错误,如下:

 

这种情况,可以按提示,把短声明改为赋值语句即可:

_,b =2,3

 

posted @ 2019-09-10 14:58  wanjingchang  阅读(1537)  评论(0编辑  收藏  举报