Go运行常见错误

1、运行文件提示错误main redeclared in this block

原因:同一个目录下的多个go文件中,每个文件都要使用package main但是只能有一个文件使用func main(){}入口函数,因为入口只能有一个,否则执行go build 时候就会报错

2、运行文件出错package command-line-arguments is not a main package?

原因:文件内package后面的包名不对,改为package main即可

3、同级文件夹下执行命令提示错误如下:

class\a.go:4:2: undefined: test

例如:下面例子中a.go和b.go在同一级目录下,程序的入口文件a.go,内容如下:

文件b.go的内容如下:

程序执行后将报错如下: class\a.go:4:2: undefined: test

Go 中 main 包默认不会加载其他文件, 而其他包都是默认加载的。如果 main 包有多个文件,则在执行的时候需要将其它文件都带上,即执行 go run *.go,或者执行go run a.go b.go

vscode配置:在 VSCode 的 .vscode 目录下创建 settings.json 文件, 并添加如下内容:

{
    "code-runner.executorMap": {
        "go": "cd $dir && go run .",
    },
    "code-runner.executorMapByGlob": {
        "$dir\\*.go": "go"
    }
}

点击vscode上面的运行–添加配置,即可看到.vscode,如图:

标签