声明和未使用的变量

时间:2017-01-29 09:23:51

标签: for-loop go

我正在尝试学习Go,但是在尝试一个简单的for循环时,我发现很难让它工作。如果我在main函数中定义变量a,则此代码不会编译,它会给出一个错误&a; a a声明但未使用'。我不明白什么时候必须声明变量,什么时候不能声明。感谢。

package main

import "fmt"

func main() {   


    for a:=0;a<4;a++ {      
        fmt.Printf("value of a is %d\n",a)
}

2 个答案:

答案 0 :(得分:2)

您有两种选择

  1. 明确声明变量,然后使用

    var a int
    a = 0
    
  2. 在一个语句中声明和赋值,而不必指定类型(推断)

    a:=0
    
  3. 请注意=:=之间的差异。如果您使用:=两次,则将其视为重新声明。换句话说,=仅用于赋值,而:=仅用于声明和赋值。

答案 1 :(得分:1)

原因是,您有'未使用的错误',因为表达式a:=0在循环范围内声明了一个具有相同名称的新变量。如果您已经在循环之前声明了变量'a',请将其更改为for a=0; a<4; a++(不带冒号)。