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

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

时间:2022-11-10 12:33:40浏览次数:75  
标签:知识点 17 int 截取 面试 func Go 长度 解析



昨天的题目相对比较简单,但需要注意的知识点挺多的,先看下​​昨天题目​​的解析:

1.参考答案及解析:a、b、c 的长度和容量分别是 0 3、2 3、1 2。知识点:数组或切片的截取操作。截取操作有带 2 个或者 3 个参数,形如:[i:j] 和 [i:j:k],假设截取对象的底层数组长度为 l。在操作符 [i:j] 中,如果 i 省略,默认 0,如果 j 省略,默认底层数组的长度,截取得到的切片长度和容量计算方法是 j-i、l-i。操作符 [i:j:k],k 主要是用来限制切片的容量,但是不能大于数组的长度 l,截取得到的切片长度和容量计算方法是 j-i、k-i

2.参考答案及解析:

func main() {
m := make(map[string]int)
m["a"] = 1
if v,ok := m["b"]; ok {
fmt.Println(v)
}
}

在 A 处只声明了map m ,并没有分配内存空间,不能直接赋值,需要使用 make(),都提倡使用 make() 或者字面量的方式直接初始化 map。

B 处,​​v,k := m["b"]​​ 当 key 为 b 的元素不存在的时候,v 会返回值类型对应的零值,k 返回 false。

3.参考答案及解析:B。知识点:接口的静态类型。a、b 具有相同的动态类型和动态值,分别是结构体 work 和 {3};a 的静态类型是 A,b 的静态类型是 B,接口 A 不包括方法 ShowB(),接口 B 也不包括方法 ShowA(),编译报错。看下编译错误:

a.ShowB undefined (type A has no field or method ShowB)
b.ShowA undefined (type B has no field or method ShowA)

更多知识点看下​​接口的文章​​。

欢迎在留言区补充!

看下今天的题目:

1. x, _ := f()
2. x, _ = f()
3. x, y := f()
4. x, y = f()

2.下面代码输出什么?

func increaseA() int {
var i int
defer func() {
i++
}()
return i
}

func increaseB() (r int) {
defer func() {
r++
}()
return r
}

func main() {
fmt.Println(increaseA())
fmt.Println(increaseB())
}
  • A. 1 1
  • B. 0 1
  • C. 1 0
  • D. 0 0

3.下面代码输出什么?



  • A. 13 23
  • B. compilation error

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



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



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



Go 面试每天一篇(第 17 天)_数组


Go 面试每天一篇(第 17 天)_操作符_02


标签:知识点,17,int,截取,面试,func,Go,长度,解析
From: https://blog.51cto.com/u_15289640/5840490

相关文章

  • Go 面试每天一篇(第 20 天)
    ​​昨天的文章​​详细讲解了defer与返回值的问题,还没看的同学建议看下,说实话,到现在我还会时不时把文章翻出来看看,以免自己掉坑!看下​​昨天题目​​的解析:参考答案及解......
  • Go 面试每天一篇(第 21 天)
    你好哇,今天是节前最后一天,提前祝大家中秋愉快,假期玩的开心!还有一件事告诉大家,《每天一篇》在放假期间会停更三天!平日里我们必须努力上班、学习成长,放了假就好好休息放松、......
  • Go 面试每天一篇(第 22 天)
    三天假期一晃而过,愉快而又短暂!学习、工作更有劲儿了,加油!有些同学真勤奋,放假期间都还在答题,向你们学习!一起来看下1.参考答案及解析:A声明的是nil切片;B声明的是长度和容量......
  • Go 面试每天一篇(第 23 天)
    你好哇,一起来看下1.参考答案及解析:两个地方有语法问题。golang的字符串类型是不能赋值nil的,也不能跟nil比较。2.参考答案及解析:21。defer关键字后面的函数或者方法......
  • Go 面试每天一篇(第 24 天)
    你好哇,又来答题啦,欢迎!一起来看下1.参考答案及解析:[124][124]我们知道,golang中切片底层的数据结构是数组。当使用s1[1:]获得切片s2,和s1共享同一个底层数组,这会导......
  • Go 面试每天一篇(第 29 天)
    你好哇,欢迎来答题,一起来看下1.下面的代码有什么问题?funcmain(){fmt.Println([...]int{1}==[2]int{1})fmt.Println([]int{1}==[]int{1})}参考答案及解析:有两......
  • Go 面试每天一篇(第 18 天)
    今天周一,加油!看下​​昨天的题目​​解析:1.参考答案及解析:错、对、对、错。知识点:变量的声明。1.错,x已经声明,不能使用:=;2.对;3.对,当多值赋值时,:=左边的变量无论声明与否......
  • 解决golang报错:imports github.com/go-sql-driver/mysql from implicitly required mo
    这句话的意思是,从隐式的引入模块导入的比如我使用某个第三方包,这个第三方包里面包含了mysql包我在代码里直接使用了这个mysql包,但是在go.mod里没有引入,代码里ide是不会报......
  • 中文书籍对《人月神话》的引用(161-175本):编程匠艺、产品设计蓝图(20211109更新)
    ​​中文书籍对《人月神话》的引用(第001到160本)>>​​《人月神话》于1975年出版,1995年出二十周年版。自出版以来,该书被大量的书籍和文章引用,直到现在热潮不退。UMLChina摘录......
  • 中文书籍对《人月神话》的引用(161-170本):卓有成效的CIO、核心测试过程(20211107更新)
    ​​中文书籍对《人月神话》的引用(第001到160本)>>​​《人月神话》于1975年出版,1995年出二十周年版。自出版以来,该书被大量的书籍和文章引用,直到现在热潮不退。UMLChina摘录......