面试题答案
一键面试- 接收变量数量与返回值数量一致:
- 正常情况下,函数返回值数量和接收变量数量应完全匹配。例如:
package main import "fmt" func addSub(a, b int) (int, int) { return a + b, a - b } func main() { sum, diff := addSub(5, 3) fmt.Printf("Sum: %d, Diff: %d\n", sum, diff) }
- 接收变量数量与返回值数量不一致:
- 接收变量数量小于返回值数量:这是不允许的,会导致编译错误。例如:
package main func addSub(a, b int) (int, int) { return a + b, a - b } func main() { sum := addSub(5, 3) // 编译错误:too few values in assignment }
- 接收变量数量大于返回值数量:同样不允许,会导致编译错误。例如:
package main func addSub(a, b int) (int, int) { return a + b, a - b } func main() { sum, diff, extra := addSub(5, 3) // 编译错误:too many values to unpack }
- 忽略某些返回值:
- 可以使用下划线
_
来忽略不需要的返回值。例如:
package main import "fmt" func addSub(a, b int) (int, int) { return a + b, a - b } func main() { sum, _ := addSub(5, 3) fmt.Printf("Sum: %d\n", sum) }
- 可以使用下划线