首页 > 其他分享 >Go 面试每天一篇(第 34 天)

Go 面试每天一篇(第 34 天)

时间:2022-11-10 12:37:04浏览次数:42  
标签:case intvar int 34 面试 MyInt Go type 赋值

你好哇,欢迎来答题,一起来看下

1.关于协程,下面说法正确是()

  • A. 协程和线程都可以实现程序的并发执行;
  • B. 线程比协程更轻量级;
  • C. 协程不存在死锁问题;
  • D. 通过 channel 来进行协程间的通信;

参考答案及解析:AD。

2.关于循环语句,下面说法正确的有()

  • A. 循环语句既支持 for 关键字,也支持 while 和 do-while;
  • B. 关键字 for 的基本使用方法与 C/C++ 中没有任何差异;
  • C. for 循环支持 continue 和 break 来控制循环,但是它提供了一个更高级的 break,可以选择中断哪一个循环;
  • D. for 循环不支持以逗号为间隔的多个赋值语句,必须使用平行赋值的方式来初始化多个变量;

参考答案及解析:CD。

3.下面代码输出正确的是?

func main() {
i := 1
s := []string{"A", "B", "C"}
i, s[i-1] = 2, "Z"
fmt.Printf("s: %v \n", s)
}
  • A. s: [Z,B,C]
  • B. s: [A,Z,C]

参考答案及解析:A。知识点:多重赋值。

多重赋值分为两个步骤,有先后顺序:

  • 计算等号左边的索引表达式和取址表达式,接着计算等号右边的表达式;
  • 赋值;

所以本例,会先计算 s[i-1],等号右边是两个表达式是常量,所以赋值运算等同于 ​​i, s[0] = 2, "Z"​​。

解析若有不妥之处,欢迎在留言区交流、指正!

看下今天的题目:

A.
type MyInt int
var i int = 1
var j MyInt = i

B.
type MyInt int
var i int = 1
var j MyInt = (MyInt)i

C.
type MyInt int
var i int = 1
var j MyInt = MyInt(i)

D.
type MyInt int
var i int = 1
var j MyInt = i.(MyInt)

2.关于switch语句,下面说法正确的有?

  • A. 条件表达式必须为常量或者整数;
  • B. 单个case中,可以出现多个结果选项;
  • C. 需要用break来明确退出一个case;
  • D. 只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case;

3.如果 Add() 函数的调用代码为:

func main() {
var a Integer = 1
var b Integer = 2
var i interface{} = &a
sum := i.(*Integer).Add(b)
fmt.Println(sum)
}

则Add函数定义正确的是()



答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!





Go 面试每天一篇(第 34 天)_初始化


Go 面试每天一篇(第 34 天)_赋值_02


标签:case,intvar,int,34,面试,MyInt,Go,type,赋值
From: https://blog.51cto.com/u_15289640/5840469

相关文章

  • Go 面试每天一篇(第 27 天)
    你好哇,周末是最好的答题时间,一起来看下1.下面这段代码输出什么?const(a=iotab=iota)const(name="name"c=iotad=iota)funcmain(){......
  • Go 面试每天一篇(第 14 天)
    继续我们的每日答题,看下​​昨天的题目​​解析:1.参考答案及解析:AD。B只支持局部变量声明;C是赋值,str必须在这之前已经声明;2.参考答案及解析:5。这个例子中,hello()函数的......
  • Go 面试每天一篇(第 26 天)
    昨天的投票总人数不多,但结果已经很明显了,以后发布题目解析时贴上原题!回归主题,一起来看下1.下面这段代码输出什么?为什么?func(iint)PrintInt(){fmt.Println(i)}fun......
  • Go 面试每天一篇(第 28 天)
    你好哇,再坚持一周就到国庆长假啦!一起来看下1.下面这段代码输出什么?typeDirectionintconst(NorthDirection=iotaEastSouthWest)func(dDirection)S......
  • Go 面试每天一篇(第 13 天)
    昨天有同学反馈,看答案时可能需要翻看前一天的文章了解原选项或原题,来回切换不方便,想到一个解决办法,利用微信的悬浮窗功能实现文章快速切换。点击文章有上角的...,底部会出......
  • Go 面试每天一篇(第 11 天)
    我们的 《每天一篇》系列昨天被Go语言中文网的《Go语言爱好者周刊》第6期 收录了,现在还有点小激动呢!现在来答题的小伙伴越来越多,一种好现象,加油!还没开始的同学赶快......
  • Go 面试每天一篇(第 15 天)
    我们应该坚信美好的事物一定会发生,毫不怀疑地坚信,加油!继续我们的每天一篇,看下​​昨天题目​​的解析:1.参考代码及解析:C。知识点:常量,Go语言中的字符串是只读的。2.参考......
  • Go 面试每天一篇(第 10 天)
    九月第一天,加油!看下昨天的题目解析:1.参考答案及解析:ABC。A、B都是声明channel;C读取channel;写channel是必须带上值,所以D错误。2.参考答案及解析:A。打印一个map中不......
  • Go 面试每天一篇(第 16 天)
    周末了,答题不能停,先看下​​昨天题目​​的解析:1.参考答案及解析:A。知识点:nil切片和空切片。nil切片和nil相等,一般用来表示一个不存在的切片;空切片和nil不相等,表示......
  • Go 面试每天一篇(第 12 天)
    继续我们的每日答题,看下​​昨天的题目​​解析:1.参考答案及解析:ABD。知识点:cap(),cap()函数不适用map。2.参考答案及解析:A。当且仅当接口的动态值和动态类型都为nil时......