亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 語言:在包范圍內使用包名(示例)

Go 語言:在包范圍內使用包名(示例)

Go
素胚勾勒不出你 2021-08-23 15:33:42
我目前正在編寫ExampleFuncs我的 Go 測試腳本。例如:package helloimport "testing"func ExampleGetSymbol() {    data := GetSymbol("AAPL")    fmt.Println(len(data.Data))    // Output: 21}現在,這給了我兩個好處:當我運行時執行這個例子go test和它出現在 godoc 文檔下 func GetSymbol有一件事困擾著我,我想知道我是否應該對此做些什么。對于試圖從此示例中學習的用戶,該行data := GetSymbol("AAPL")實際上應該是data := hello.GetSymbol("AAPL")但由于測試與包在同一范圍內,我不能像這樣使用它。所以我想我的問題的提煉版本是:有沒有辦法package.field在包范圍內允許符號?
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

與其把它放在包里hello,不如把它放在包里hello_test。您可以在同一目錄中同時擁有hellohello_test包,并且它允許(要求)您按照建議的方式創建示例。

順便說一句,這也會導致您僅將測試用例(至少對于此文件)寫入公共 API。這通常是一件好事。但是如果您需要寫入私有函數,您可以將您的測試拆分為單獨的文件,一些在hello包中,一些在hello_test.

順便說一句,這方面的文檔有點被埋沒了。您可以在go cmd 文檔的“測試包”部分找到它。


查看完整回答
反對 回復 2021-08-23
  • 1 回答
  • 0 關注
  • 265 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號