这里绝对是新手问题。
Go中的某些函数返回多个值(通常是该值和一个错误)。我写的是一个函子,它返回这些函数之一的返回值,即使很容易将这些值放在变量上并仅返回第一个函数,我也怀疑是否只能在一行中执行相同的操作没有多余的变量这是其他语言(例如C,Java,C#,Ruby等)中经常使用的
func someFunc (param string) int {
// do something with the string, not very important
return strconv.Atoi(param)
}
我知道这可行
func someFunc (param string) int {
// do something with the string, not very important
var result int
result, _ = strconv.Atoi(param)
return result
}
在Go中有可能吗?它被认为是“良好做法”(例如Java *)
注意:在有人说这种技术不是Java的好习惯之前,请先澄清一下这对问题并不重要,但是有些人(例如我工作的公司中的人)鼓励这种风格。
答案 0 :(得分:3)
使用U+2013
作为最短的代码来实现此目标:
func SomeFunc(parm string) int {
result, _ := strconv.Atoi(param)
return result
}
没有一个行解决方案,而没有引入一个接受两个参数并返回第一个参数的辅助函数。您要忽略值的每种类型的组合都需要使用这些帮助器功能之一。