1. 我是皮皮虾首页
  2. 编程开发
  3. 后端
  4. Goland

golang基础面试题

自己除了找python相关的岗位,还想找一下go的岗位,有转语言的倾向。但我自由半年的项目经验。

谈谈对defer的认识

  • defer用于资源的释放,会在函数返回之前进行调用,它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源、还有就是refer+recover的方式捕获异常。
  • 在执行defer语句的时候,程序不会立即执行,而是先将defer后面的语句压入栈中,值得注意的是,如果后面的语句含有变量,那么会copy一份一起压入栈,等整个方法体执行完毕之后,再根据先入后出的顺序执行defer后面的语句

谈谈切片和数组吧

  • 切片是不定长的,数组必须给定一个长度
  • 切片如果作为函数参数,如果修改切片里面的值,外面的切片也会被修改;值得注意的是,如果在函数内append操作,则会copy一份切片,不会影响外面的切片值。append操作会根据切片当前容量,如果当前容量满了,则会以2的倍数创建一个新的切片,容量步长是这样的1,2,4,8,16….
  • 数组作为函数参数,传递的是值,修改函数内的数组不影响外部数组,因为函数会copy一份数组

谈谈goroutine吧

原创文章,作者:站长,如若转载,请注明出处:https://wsppx.cn/949/%e7%bd%91%e7%bb%9c%e5%bc%80%e5%8f%91/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注