如何在Go中创建一个新程序包并通过CMD运行它?

因为Go中所有默认软件包都位于C:\ Go \ src中,所以为了创建新软件包,我也在src文件夹中创建了greeting文件夹。在问候文件夹中,我创建了一个名为hello_world.go的文件:

package greeting

func HelloWorld() string {
    return "Hello, World!"
}

在我的桌面上,我创建了另一个名为main.go的文件(C:\ Users \ wing_ \ Desktop \ compile \ main.go):

package main

import (
    "fmt"
    "greeting"
)

func main(){
    fmt.Println(greeting.HelloWorld())
}

然后在CMD中以C:\ Users \ wing_ \ Desktop \ compile> go运行main.go,结果为Hello,World!以CMD打印。 但是问题是我的Visual Studio Code中出现此错误:

无法加载包:包。:找到了包问候   (hello_world.go)和main(main.go)在C:\ Users \ wing_ \ Desktop \ compile中

为什么会这样 ?我在用正确的方式在Go中创建新程序包吗? 另一个问题是,不是将新软件包放在src文件夹中,我可以在compile文件夹中创建greeting文件夹吗?如果是,正确的代码是什么?我对如何链接到每个文件有点困惑...