面试题答案
一键面试package main
import (
"fmt"
)
// 定义一个接受可变参数的函数,并为参数提供默认值
func exampleFunction(params ...int) {
const defaultParam = 10
if len(params) == 0 {
params = append(params, defaultParam)
}
for _, param := range params {
fmt.Println(param)
}
}
func main() {
// 调用函数,不传入参数,使用默认值
exampleFunction()
// 调用函数,传入参数,不使用默认值
exampleFunction(5, 15)
}
在上述代码中:
- 函数设计:
exampleFunction
接受可变参数params
。如果params
的长度为0,即没有传入参数,那么将默认值defaultParam
追加到params
中。 - 调用处理:
- 在
main
函数中,第一次调用exampleFunction()
没有传入参数,此时函数使用默认值10
。 - 第二次调用
exampleFunction(5, 15)
传入了两个参数,函数使用传入的实际值,而不使用默认值。
- 在