drop procedure if exists PESSOA_TESTE;delimiter $$create procedure PESSOA_TESTE(IN psaida int)beginSET psaida = 2;select psaida;end$$代碼: var GerenciaBD GERENCIABD var PontoExecucao int GerenciaBD.F_GERENCIABD_ABRIR_CONEXAO_MYSQL() GerenciaBD.DataBase.QueryRowContext(context.TODO(),"CALL PESSOA_TESTE(?)", PontoExecucao).Scan(&PontoExecucao) println(PontoExecucao)
2 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
請記住,Go 是一種編譯語言;程序所做的大部分事情都發生在運行時。
特別是,在這種情況下,調用http.Dir()
發生在運行時,這意味著路徑是在運行時評估的。
因為您提供的路徑是相對的,所以它是相對于您運行應用程序的工作目錄的。源代碼所在的目錄與此處無關。
在一次調用中,http.Dir()
您給出了 argument ./web/views
,而在另一次調用中,您給出了 argument ./views
。事實證明,基于您執行程序的目錄的正確路徑是./web/views
. 當你用錯誤的路徑執行程序時,你會得到404 page not found
錯誤,因為指定的路徑在你的工作目錄中不存在。

繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
您提供的路徑http.Dir
是相對于應用程序的運行位置(它的工作目錄,在您的情況下是您發布的目錄樹的根目錄)而不是相對于文件所在的位置.go
。只需更改路徑即可./web/views
,它應該可以工作。
在您的情況下,返回了,因為目錄樹的頂層404 Not Found
沒有文件夾,因此沒有要提供的文件。views
- 2 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消