教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Go 面试每天一篇(第 39 天)

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

发布时间:2021-12-28   编辑:jiaochengji.com
教程集为您提供Go 面试每天一篇(第 39 天)等资源,欢迎您收藏本站,我们将为您提供最新的Go 面试每天一篇(第 39 天)资源

点击上方蓝色“Golang来啦”关注我哟

加个“星标”,天天 15 分钟,一起学 Go

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

1.关于异常的触发,下面说法正确的是?

<ul class="list-paddingleft-2"><li>

A. 空指针解析;

</li><li>

B. 下标越界;

</li><li>

C. 除数为0;

</li><li>

D. 调用panic函数;

</li></ul>

参考答案及解析:ABCD。

2.下面代码输出什么?

<pre class="has"><code class="language-javascript">1func main() { 2    x := []string{"a", "b", "c"} 3    for v := range x { 4        fmt.Print(v) 5    } 6} </code></pre>

参考答案及解析:012。注意区别下面代码段:

<pre class="has"><code class="language-javascript">1func main() { 2    x := []string{"a", "b", "c"} 3    for _, v := range x { 4        fmt.Print(v)     //输出 abc 5    } 6} </code></pre>

3.下面这段代码能否编译通过?如果通过,输出什么?

<pre class="has"><code class="language-javascript"> 1type User struct{} 2type User1 User 3type User2 = User 4 5func (i User1) m1() { 6    fmt.Println("m1") 7} 8func (i User) m2() { 9    fmt.Println("m2") 10} 11 12func main() { 13    var i1 User1 14    var i2 User2 15    i1.m1() 16    i2.m2() 17} </code></pre>

参考答案及解析:能,输出<code>m1 m2</code>,第 2 行代码基于类型 User 创建了新类型 User1,第 3 行代码是创建了 User 的类型别名 User2,注意使用 = 定义类型别名。因为 User2 是别名,完全等价于 User,所以 User2 具有 User 所有的方法。但是 i1.m1() 是不能执行的,因为 User1 没有定义该方法。

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

看下今天的题目:

<ul class="list-paddingleft-2"><li>

A. 无缓冲的channel是默认的缓冲为1的channel;

</li><li>

B. 无缓冲的channel和有缓冲的channel都是同步的;

</li><li>

C. 无缓冲的channel和有缓冲的channel都是非同步的;

</li><li>

D. 无缓冲的channel是同步的,而有缓冲的channel是非同步的;

</li></ul>

2.下面代码是否能编译通过?如果通过,输出什么?

<pre class="has"><code class="language-javascript"> 1func Foo(x interface{}) { 2    if x == nil { 3        fmt.Println("empty interface") 4        return 5    } 6    fmt.Println("non-empty interface") 7} 8func main() { 9    var x *int = nil 10    Foo(x) 11} </code></pre>

3.下面代码输出什么?

<pre class="has"/>

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

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

<blockquote>

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

</blockquote>

推荐阅读:

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

<pre class="has"><code class="language-javascript"/></pre>

到此这篇关于“Go 面试每天一篇(第 39 天)”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
Go语言 零基础入门到精通项目实战
Go 语言进阶教程
Go 面试每天一篇(第 39 天)
【七天从零实现ORM框架】Day02:database/sql基础
Golang面试题解析(四)
JavaScript关于数组的方法有哪些不同之处?
Go语言爱好者周刊:第 78 期 — 这道关于 goroutine 的题
Go语言发展历史、核心、特性及学习路线
php调取摄像头实现拍照功能的方法
2018年最全Go语言教程零基础入门到进阶实战视频

[关闭]
~ ~