首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2022-10-20:以下go语言代码输出什么?A:7;B:7.0;C:0;D:编译错误。package mainimport

2022-10-20:以下go语言代码输出什么?A:7;B:7.0;C:0;D:编译错误。package mainimport

作者头像
福大大架构师每日一题
发布2022-11-06 10:27:06
发布2022-11-06 10:27:06
27100
代码可运行
举报
运行总次数:0
代码可运行

2022-10-20:以下go语言代码输出什么?A:7;B:7.0;C:0;D:编译错误。

代码语言:javascript
代码运行次数:0
运行
复制
package main

import (
  "fmt"
)

func main() {
  const X = 7.0
  var x interface{} = X
  if y, ok := x.(int); ok {
    fmt.Println(y)
  } else {
    fmt.Println(int(y))
  }
}

答案选C。X是无类型常量,当赋值给需要类型的变量时,因为 7.0 的默认类型是 float64,因此,x.(int) 的断言是失败的,断言失败,y 的值就是 int 类型的默认值,即 0。实际上,int(y) 这里的类型转换是必须要的,直接 fmt.Println(y) 结果是一样的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档