go - 为什么我们要在 Go 中使用空白标识符?

标签 go

我发现空白标识符的使用有点难以理解。我看过 effective go并理解他们描述的大部分用例,但随后查看了一个教程,我在路由处理程序函数中遇到了这个问题:

var person Person
_ = json.NewDecoder(req.Body).Decode(&person)

在第一行中,我们创建了一个新的 Person 类型的空变量(一个先前定义的结构),然后我假设

  • &person 通过引用传递 person var,
  • 通过Decode函数填充数据

此函数然后在编码和返回 json 响应之前继续执行更多任务。

为什么我们需要将解码分配给空白标识符?我们不能只运行 json.NewDecoder(req.Body).Decode(&person) 吗?如果我们不能,为什么不呢?

最佳答案

我假设您正在学习 golang 并提出问题,因为您无法确定为什么这个示例使用这种做法。

正如@JimB 在评论中提到的,示例编写者不需要这样做,他们只是忽略错误返回。

关于go - 为什么我们要在 Go 中使用空白标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46182338/

相关文章:

go - 同步Go Routines需要什么

amazon-web-services - 戈朗 : GET request for presigned url of S3 object with SSE fails with 403 error

synchronization - 如何将这段代码转换为非阻塞和无锁?

go - sync.WaitGroup 是 Barrier 的一个实现吗?

date - Golang - 日期解析 YYYY-MM-DD 日期

mongodb - $and 表达式必须是非空数组

python - 看不到输出,只能在终端

unit-testing - 为期望按下的键继续的函数编写 Golang 单元测试

go - 如何在 Go 结构中设置默认值

go - 如何在结构上调用变量方法