首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2022-07-24:以下go语言代码输出什么?A:[]int{};B:[]int(nil);C:panic;D:编译错误。

2022-07-24:以下go语言代码输出什么?A:[]int{};B:[]int(nil);C:panic;D:编译错误。

原创
作者头像
福大大架构师每日一题
发布于 2022-07-24 22:07:10
发布于 2022-07-24 22:07:10
3750
举报

2022-07-24:以下go语言代码输出什么?A:[]int{};B:[]int(nil);C:panic;D:编译错误。

代码语言:go
复制
package main

import (
    "fmt"
)

func f(a ...int) {
    fmt.Printf("%#v\n", a)
}

func main() {
    f()
}

答案选B,但却有 58% 的用户选的 A。首先,a 的类型是 []int,调用 f 时,没有传递任何参数,因此相当于值是 nil,即 a 的类型是 []int,值是 nil。而 fmt.Printf 的动词 %#v 会同时打印类型和值。所以结果是 B。

在这里插入图片描述
在这里插入图片描述

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档