Go语言 变量定义未定义[重复]

h6my8fg2  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(182)

此问题在此处已有答案

How to avoid annoying error "declared and not used"(8个答案)
19天前关闭。
我在Google上搜索了一些示例,但就是没有点击。我是Go的新手,所以我希望有人能为我澄清这一点。我有以下代码:

var configFile string
var keyLength int
var outKey string
var outconfig string

for index, item := range args {

    if strings.ToLower(item) == "-config" {
        configFile = args[index + 1]
    }else if strings.ToLower(item) == "-keylength" {
        keyLength, _ = strconv.Atoi(args[index + 1])
    }else if strings.ToLower(item) == "-outkey" {
        outKey = args[index + 1]
    }else if strings.ToLower(item) == "-outconfig" {
        outconfig = args[index + 1]
    }        
}

但是我得到了一个错误,所有的变量都被定义为以下错误“configFile declared but not used”。

3pvhb19x

3pvhb19x1#

你给变量赋值,但之后就不再使用它们了,这就是为什么Go语言会抛出错误。
请参见以下示例:

package main

func f() {
    var unassignedVar string
    var unusedVar = "I am not read"
    var usedVar = "I am read"

    print(usedVar)
}

对于前两个变量,Go语言会抛出一个错误:unassignedVar甚至未被赋值,unusedVar被赋值但之后未被使用。usedVar被赋值且之后被使用。
请参见示例on the Go Playground

相关问题