go - Go 中允许省略可选的第二个返回值的案例列表
问题描述
当调用具有多个返回值的函数或方法时,调用者如果解包任何返回值,必须将它们全部解包。
f, err := os.Open("filename")
该err
变量必须使用空白标识符声明或忽略_
,但不能省略。
但是,语言中内置了一些操作,允许省略可选的第二个返回值。
是否有一个或多或少正式的情况列表,其中具有数据结构或函数调用的操作返回第二个值,该值是可选的并且可以通过仅接收第一个返回值来忽略?例如:
m := make(map[string]int)
v, ok := m["hello"]
该ok
变量完全是可选的,可以省略。
v := m["hello"]
同样,对于通道:
v, ok := <-ch
或者
v := <-ch
除了上述两种情况之外,还有其他这种行为吗?
解决方案
推荐阅读
- spring-boot - 如何在 sprintboot stratup 上为反应式 r2dbc 驱动程序运行 flyway 迁移
- sql - 我想根据 SQL 中新创建的列进行过滤
- c# - 图像在 Html.BeginForm 中为空?
- django - 我无法解决 'set' 对象在 django rest 框架中不可下标
- c - 在C中将一个字符串插入另一个字符串
- php - Woocommerce 登录注册功能使用语言 url
- rest - 将 DialogFlow Rest API 与 API KEY 一起使用
- python - 如何查看使用 pynput python 3.7 按下的字符?
- vue.js - 如何在 vue 的组件中链接图像?
- javascript - 具有固定长度的 Svelte 字段