不定参数的代码展示
"""
package main
import "fmt"
func main() {
f()
}
func f(a ...int) {
// %#v 会同时打印类型和值
fmt.Printf("%#v",a)
}
"""
问题 : 上述代码会输出什么?
A:[]int{};B:[]int(nil);C:panic;D:编译错误
答案: B
解释:
a 的类型是 []int,调用 f 时,没有传递任何参数,因此相当于值是 nil,即 a 的类型是 []int,值是 nil。而 fmt.Printf 的动词 %#v 会同时打印类型和值。所以结果是 B
网友评论