英文:
Variable number of return variables in function in Go
问题
我想知道是否有一种方法可以实现一个类似于map getter的函数,它将返回值作为第一个参数,(可选赋值的)第二个值ok
作为第二个参数。所以我需要一个名为f
的函数,我可以按以下方式调用:
value1 := f(1)
value2, ok := f(2)
英文:
I wonder if there is a way to implement a function that behaves similar to map getter: it returns return value as first argument and (optionally assigned) second value ok
as second argument. So I need function f
that I can call in following ways:
<!-- language: go -->
value1 := f(1)
value2, ok := f(2)
答案1
得分: 1
不,这是不可能的,唯一的选择是返回一个指针并检查它是否为nil。
如果 v := f(10); v != nil {
//处理逻辑
}
英文:
No, it can't be done, the only option is to return a pointer and check if it's nil.
if v := f(10); v != nil {
//stuff
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论