go语言面试题

2023-11-17

1.下面这段代码输出什么?

func main() {
    count := 0
    for i := range [256]struct{}{} {
        m, n := byte(i), int8(i)
        if n == -n {
            count++
        }
        if m == -m {
            count++
        }
    }
    fmt.Println(count)
}

参考答案及解析:4。知识点:数值溢出。当 i 的值为 0、128 是会发生相等情况,注意 byte 是 uint8 的别名。

2.下面代码输出什么?

const (
    azero = iota
    aone  = iota
)

const (
    info  = "msg"
    bzero = iota
    bone  = iota
)

func main() {
    fmt.Println(azero, aone)
    fmt.Println(bzero, bone)
}

参考答案及解析:0 1 1 2。知识点:iota 的使用。这道题易错点在 bzero、bone 的值,在一个常量声明代码块中,如果 iota 没出现在第一行,则常量的初始值就是非 0 值。

3.同级文件的包名不允许有多个,是否正确?

A. true
B. false
参考答案及解析:A。一个文件夹下只能有一个包,可以多个.go文件,但这些文件必须属于同一个包。

4.下面的代码有什么问题,请说明。

type data struct {
    name string
}

func (p *data) print() {
    fmt.Println("name:", p.name)
}

type printer interface {
    print()
}

func main() {
    d1 := data{"one"}
    d1.print()

    var in printer = data{"two"}
    in.print()
}

参考答案及解析:编译报错。

cannot use data literal (type data) as type printer in assignment:
data does not implement printer (print method has pointer receiver)

结构体类型 data 没有实现接口 printer。知识点:接口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go语言面试题 的相关文章

随机推荐

  • 3分钟即可了解 FHub中转站文件摆渡新技能

    说到文件摆渡的方式 有很多种 比较传统一点的 像U盘拷贝 FTP等 自动化一点的 像网闸 网盘等 还有一些企业会通过一些技术手段进行摆渡 比如防火墙技术等 这些方式都能在一定程度上解决跨隔离网文件摆渡的问题 为什么这么说呢 且听下文分析 1
  • java中堆栈(stack)和堆(heap)(还在问静态变量放哪里,局部变量放哪里,静态区在哪里.....进来)...

    内存分配的策略 按照编译原理的观点 程序运行时的内存分配有三种策略 分别是静态的 栈式的 和堆式的 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求 因而在编 译时就可以给他们分配固定的内存空间 这种分配策略要求程序代码
  • 联想万全服务器告警信息在哪里看,华为网络设备查看告警信息

    检查设备是否出现故障以及近期是否有重要的告警信息 前提条件 已经完成登录设备 操作步骤 执行命令display alarm all 查看所有活动的硬件告警信息 以判断设备是否发生故障 display alarm all Info NO al
  • Python运维开发:基于openstack RestfulAPI上传镜像和创建云主机

    基础环境 python 脚本文件头建议加入 encoding utf 8 避免编码错误 测试脚本代码用python3命令执行与测试 在linux系统中安装Python3 并安装request等依赖包 配置 有一台搭建好的open stack
  • CSS3渐变

    以前我们如果想要做到一个颜色到另一个颜色的渐变 Gradients 效果 需要用ps之类的应用程序做出一张背景图片 然后放到元素上 这样子不仅麻烦 而且不利于代码的维护 当用户界面大小发生改变时 显示效果也不好 CSS3提供给了我们一种渐变
  • 正定Hermiltian矩阵分解的两种方法

    对于正定Hermiltian矩阵 B B B 想要求解 D D D 使其满足
  • 单价数量和总价的公式_小学数量关系计算公式汇总,收藏起来写作业不用翻书了!...

    点击上方蓝字 关注我们 要想数学学得好 就要公式记得牢 公式是为了孩子更好的解题来用的 很多孩子数学学习过程中经常出现 平时不记 考试捉急 的现象 虽然数学是一门非常注重逻辑思维能力的一个学科 但是想要取得好的成绩 离不开基础知识的掌握 只
  • 【经典】SpringBoot 过滤器和拦截器

    过滤器 创建过滤器 MyFilter 实现Filter接口 实现doFilter方法 在SpringbootwebApplication java中添加一个过滤器注册方法 具体实现如下 如果要不拦截静态资源 则可以在Filter中设置 当然
  • 项目架构图

    前言 前段时间一直在找工作 面试过程终于到了不少问题 有些是自己会的 有些是自己看过却无法整理出来的 说到底是理解不够透彻 记忆不够深刻 当然还有些是完全懵逼的 下面就来说下经常被问及 自己却无法当场整理出来的一个问题 那就是让你画出自己做
  • DNS服务-笔记

    DNS 域名解析服务 PC访问DNS用的是 UDP 53端口 主辅同步数据用的是 TCP 53端口 工作原理 当解析一台主机域名时 首先会访问电信 网通等提供的DNS服务器地址上的DNS服务器 去访问 根域 也就是根域 大概有13台 然后根
  • 数字三角形之动态规划(C语言实现)

    算法步骤 1 首先构造三个数组 第一个是存储三角形初始值的数组data 第二个是存储顶点到该点最大值的res 数组 第三个是存储该点上一个点的loc 数组 这里要对res 数组进行初始化 1 2 按照三角形的层次结构 从上到下 从左到右依次
  • mysql存储过程游标之loop循环

    mysql存储过程游标 一共有3中循环方式 while repeat loop loop DELIMITER CREATE PROCEDURE DAY081002 BEGIN 定义参数 后面使用 DECLARE a INT DECLARE
  • 前端面试总结

    1 引言 最近参加了大量的招聘会 投递了大量的简历 整整体会了从 随便找个厂上一下 还是的找个大厂 没人要 急了急了 海投一波 工资有点尬 海投中 简单说一下自己的一些感受吧 现在的前端属实有点尴尬 前端的基础教程特别多 最开始本来是觉得自
  • Stata输出统计结果到Excel或word

    目录 一 安装外部包 二 相关命令 三 实例 1 描述性统计结果输出 2 相关性结果输入 3 回归结果输出 1 单模型结果 2 多模型结果 参考 一 安装外部包 在Stata内安装外部包 estout和logout ssc install
  • CSPNET: A NEW BACKBONE THAT CAN ENHANCE LEARNING CAPABILITY OF CNN

    摘要 本文从网络体系结构的角度出发 提出了跨阶段局部网络 CSPNet 来解决以往工作中需要大量推理计算的问题 本文将问题归结为网络优化中的重复梯度信息 所提出的网络通过从网络阶段的开始和结束集成特征映射来注重梯度的可变性 CSPNet易于
  • Flink常用算子总结

    Streaming 算子 Map 将元素处理转换 再输出 map算子对一个DataStream中的每个元素使用用户自定义的Mapper函数进行处理 每个输入元素对应一个输出元素 最终整个数据流被转换成一个新的DataStream 输出的数据
  • 2020年黑苹果硬件配置推荐

    前言 黑苹果硬件配置推荐是一件众口难调的事情 但是为了更多的苹果Mac爱好者能够早日开心顺利的使用上macOS系统 mac996站长还是会200 的努力做好这件事情 也请大家大家多给一些支持和鼓励 注 本文仅针对黑苹果台式机做硬件推荐 不涉
  • 协同过滤算法的一些报错及python函数学习

    文章目录 1 cannot import name jaccard similarity score 2 DataFrame object has no attribute dtype 3 sort values 4 sort index
  • 2023前端面试题及答案整理(JS笔试题)

    JS笔试题 JS类型相关 typeof 没定义的变量会报错吗 typeof let定义了的呢 未声明的变量使用 typeof 返回字符串 undefined typeof 一个 let 定义的变量会因为暂时性死区报错 前提 let cons
  • go语言面试题

    文章目录 1 下面这段代码输出什么 2 下面代码输出什么 3 同级文件的包名不允许有多个 是否正确 4 下面的代码有什么问题 请说明 1 下面这段代码输出什么 func main count 0 for i range 256 struct