2 回答

TA貢獻1844條經驗 獲得超8個贊
該錯誤是因為您正在嘗試調試非主程序包。如果您有使用 main 函數(shù)調試文件的設置,則從 main 包調試文件。否則您可以創(chuàng)建用于調試整個包的設置。但是對于您的問題,只需將包名稱更改為
package main
import "fmt"
// SendEmail - Sends The email
func SendEmail() {
}
func main() {
fmt.Println("Hello World!")
i := 101
fmt.Println(i)
}
或者從具有主要功能的主包運行調試器。要調試整個工作區(qū),請將設置更改為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()
包中調用的函數(shù)main
。在您的代碼中,您有一個名為 的函數(shù)main()
,但它位于一個名為 的包中email
,該包無法構建到程序中,因此無法調試。
程序開始在 package 中運行
main
。
一個完整的程序是通過將稱為主包的單個未導入的包與其導入的所有包可傳遞地鏈接起來創(chuàng)建的。主包必須有包名
main
并聲明一個main
不接受任何參數(shù)且不返回任何值的函數(shù)。
- 2 回答
- 0 關注
- 155 瀏覽
添加回答
舉報