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

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

时间:2022-11-10 12:36:14浏览次数:43  
标签:Println PrintInt 26 Student fmt 面试 func Go Speak



昨天的

Go 面试每天一篇(第 26 天)_编译错误

投票总人数不多,但结果已经很明显了,以后发布题目解析时贴上原题

回归主题,一起来看下

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

func (i int) PrintInt ()  {
fmt.Println(i)
}

func main() {
var i int = 1
i.PrintInt()
}
  • A. 1
  • B. compilation error

参考答案及解析:B。基于类型创建的方法必须定义在同一个包内,上面的代码基于 int 类型创建了 PrintInt() 方法,由于 int 类型和方法 PrintInt() 定义在不同的包内,所以编译出错。

解决的办法可以定义一种新的类型:

type Myint int

func (i Myint) PrintInt () {
fmt.Println(i)
}

func main() {
var i Myint = 1
i.PrintInt()
}

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

type People interface {
Speak(string) string
}

type Student struct{}

func (stu *Student) Speak(think string) (talk string) {
if think == "speak" {
talk = "speak"
} else {
talk = "hi"
}
return
}

func main() {
var peo People = Student{}
think := "speak"
fmt.Println(peo.Speak(think))
}
  • A. speak
  • B. compilation error

参考答案及解析:B。编译错误 ​​Student does not implement People (Speak method has pointer receiver)​​​,值类型 ​​Student​​​ 没有实现接口的 ​​Speak()​​​ 方法,而是指针类型 ​​*Student​​ 实现该方法。

详细请参考

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

看下今天的题目:

const (
a = iota
b = iota
)
const (
name = "name"
c = iota
d = iota
)
func main() {
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
}

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



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




标签:Println,PrintInt,26,Student,fmt,面试,func,Go,Speak
From: https://blog.51cto.com/u_15289640/5840476

相关文章

  • 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时......
  • Go 面试每天一篇(第 17 天)
    昨天的题目相对比较简单,但需要注意的知识点挺多的,先看下​​昨天题目​​的解析:1.参考答案及解析:a、b、c的长度和容量分别是03、23、12。知识点:数组或切片的截取操作......
  • Go 面试每天一篇(第 20 天)
    ​​昨天的文章​​详细讲解了defer与返回值的问题,还没看的同学建议看下,说实话,到现在我还会时不时把文章翻出来看看,以免自己掉坑!看下​​昨天题目​​的解析:参考答案及解......
  • Go 面试每天一篇(第 21 天)
    你好哇,今天是节前最后一天,提前祝大家中秋愉快,假期玩的开心!还有一件事告诉大家,《每天一篇》在放假期间会停更三天!平日里我们必须努力上班、学习成长,放了假就好好休息放松、......