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

Go 面试每天一篇(第 16 天),第1张

概述 周末了,答题不能停,先看下昨天题目的解析:1.参考答案及解析:A。知识点:nil切片和空切片。nil切片和nil相等,一般用来表示一个不存在的切片;空切片和nil不相等,表示一个空的集合。2.参考答案及解析:A。UTF-8编码中,十进制数字65对应的符号是A。3.参考答案及解析:1323。知识点:

 

周末了,答题不能停,先看下昨天题目的解析:

1.参考答案及解析:A。知识点:nil 切片和空切片。nil 切片和 nil 相等,一般用来表示一个不存在的切片;空切片和 nil 不相等,表示一个空的集合。

2.参考答案及解析:A。UTF-8 编码中,十进制数字 65 对应的符号是 A。

3.参考答案及解析:13 23。知识点:接口。一种类型实现多个接口,结构体 Work 分别实现了接口 A、B,所以接口变量 a、b 调用各自的方法 ShowA() 和 ShowB(),输出 13、23。

欢迎在留言区补充!

看下今天的题目:

1.切片 a、b、c 的长度和容量分别是多少?

func main() {

    s := [3]int{1, 2, 3}
    a := s[:0]
    b := s[:2]
    c := s[1:2:cap(s)]
}

2.下面代码中 A B 两处应该怎么修改才能顺利编译?

func main() {
    var m map[string]int        //A
    m["a"] = 1
    if v := m["b"]; v != nil {  //B
        fmt.Println(v)
    }
}

3.下面代码输出什么?

type A interface {
    ShowA() int
}

type B interface {
    ShowB() int
}

type Work struct {
    i int
}

func (w Work) ShowA() int {
    return w.i + 10
}

func (w Work) ShowB() int {
    return w.i + 20
}

func main() {
    c := Work{3}
    var a A = c
    var b B = c
    fmt.Println(a.ShowB())
    fmt.Println(b.ShowA())
}

A. 23 13

B. compilation error

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

ps:看完文章如果有收获,顺手花 1s 时间帮点下文末右下方的「在看」,感激!

所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!

 

推荐阅读:

Go 语言接口详解

指针(译)

 

如果我的文章对你有所帮助,点赞、转发都是一种支持!

 

总结

以上是内存溢出为你收集整理的Go 面试每天一篇(第 16 天)全部内容,希望文章能够帮你解决Go 面试每天一篇(第 16 天)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1211892.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存