假設我們正在除錯一些 Go 代碼,并且在外部依賴項中的某個地方我們遇到了這一行:
return json.Marshal(foo)
我們想設定一個斷點并使用 IntelliJ 的“評估運算式”來檢查正在生成的 JSON。但是,這不起作用:
- 如果我們評估運算式
json.Marshal(foo),我們只能看到位元組陣列。 - 評估
string(json.Marshal(foo))不起作用,因為json.Marshal回傳兩個值,位元組陣列和一個錯誤。 - Go 中無法直接訪問回傳值之一。
那么,當我無法更改底層源代碼時,如何使用“評估運算式”來實作僅列印生成的 JSON 字串的目標?
uj5u.com熱心網友回復:
您可以將回傳的位元組列印為字串
bytes, err := json.Marshal(foo)
// check error here
fmt.Println(string(bytes))
根據評論更新
您不能在不更改源代碼的情況下將除錯器中的位元組切片更改為字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/345606.html
上一篇:Maven沒有運行JUnit測驗
