假設我們正在調試一些 Go 代碼,并且在某個外部依賴項中我們遇到了這一行:return json.Marshal(foo)我們想設置一個斷點并使用 IntelliJ 的“評估表達式”來檢查正在生成的 JSON。但是,這不起作用:如果我們評估表達式json.Marshal(foo),我們只能看到字節數組。評估string(json.Marshal(foo))不起作用,因為json.Marshal返回兩個值,字節數組和錯誤。Go 中無法直接訪問其中一個返回值。那么,當我無法更改底層源代碼時,如何使用“評估表達式”來實現僅打印生成的 JSON 字符串的目標?
1 回答

心有法竹
TA貢獻1866條經驗 獲得超5個贊
您可以將返回的字節打印為字符串
bytes, err := json.Marshal(foo)
// check error here
fmt.Println(string(bytes))
根據評論更新
您不能在不更改源代碼的情況下將調試器中的字節切片更改為字符串。
- 1 回答
- 0 關注
- 71 瀏覽
添加回答
舉報
0/150
提交
取消