terminal - 当我尝试将响应正文打印为字符串时,golang 奇怪的哔声
问题描述
我正在尝试在我的 grpc 服务中打印响应正文。
body, err := ioutil.ReadAll(response.Body)
fmt.Println(string(body))
一旦程序到达这条线,我的笔记本电脑就会开始疯狂地发出哔哔声。停止会话或终止进程没有帮助。这需要我重新启动我的机器。
假设我不进行字符串转换,那么代码就可以正常工作,它会打印出字节数组并且不会产生任何噪音。
body, err := ioutil.ReadAll(response.Body)
fmt.Println(body)
grpc 服务所做的只是发出一个 http Get 请求来下载文件并计算其校验和。当我尝试下载文件时发生此问题。
我在添加这个问题时很清楚这很有可能被否决,但我需要了解为什么会发生这种情况。这个问题听起来也非常奇怪和令人难以置信,但其他人也发生过吗?
解决方案
如果出现错误如何打印,并通过跳过不可打印的字符来打印响应正文?
body, err := ioutil.ReadAll(response.Body)
if err != nil {
fmt.Printf("error: %s\n", err)
} else {
fmt.Printf("%q\n", body)
}
推荐阅读
- visual-studio - 如何修复 Scaffold-DbContext 命令登录失败。登录来自不受信任的域,不能用于 Windows 身份验证
- flutter - 从 3rd 方页面在 Flutter 中保存凭据
- python - 在 Python 中检查多种类型以引发异常
- python-3.x - 没有模块名称'notifications.signals';“通知”不是一个包
- json - WC API:返回无效的 JSON
- laravel - Laravel 7 | 我如何克隆 eloquent 对象并在表中添加具有所有关系的条目
- python - 重用补丁语句
- node.js - Lambda,更新 Cognito 自定义用户属性不会做任何事情
- liferay - 在 Liferay 上发布时出错,没有类 StagedModelDataHandlerRegistryUtil
- javascript - 将多个连续字符替换为其最后一次出现