2 回答
TA贡献1844条经验 获得超8个赞
该错误是因为您正在尝试调试非主程序包。如果您有使用 main 函数调试文件的设置,则从 main 包调试文件。否则您可以创建用于调试整个包的设置。但是对于您的问题,只需将包名称更改为
package main
import "fmt"
// SendEmail - Sends The email
func SendEmail() {
}
func main() {
fmt.Println("Hello World!")
i := 101
fmt.Println(i)
}
或者从具有主要功能的主包运行调试器。要调试整个工作区,请将设置更改为launch.json:
{
"name": "Remote",
"type": "go",
"request": "launch",
"mode": "remote",
"remotePath": "${workspaceRoot}",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}",
"env": {}
}
TA贡献1776条经验 获得超12个赞
正如错误所暗示的那样,您只能调试一个main
包(名为 的包main
)——具体来说,因为您只能运行一个main
包。在 Go 中,二进制文件的起点是main()
包中调用的函数main
。在您的代码中,您有一个名为 的函数main()
,但它位于一个名为 的包中email
,该包无法构建到程序中,因此无法调试。
程序开始在 package 中运行
main
。
一个完整的程序是通过将称为主包的单个未导入的包与其导入的所有包可传递地链接起来创建的。主包必须有包名
main
并声明一个main
不接受任何参数且不返回任何值的函数。
- 2 回答
- 0 关注
- 116 浏览
添加回答
举报