Golang 语言面试题 - 第 9 天

Seek · 2021-02-28 14:23:56 · 1510 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2021-02-28 14:23:56 的主题,其中的信息可能已经有所发展或是发生改变。

欢迎留言区交流!

1.关于 channel,下面语法正确的是()

  • A. var ch chan int
  • B. ch := make(chan int)
  • C. <- ch
  • D. ch <-

参考答案及解析:ABC。A、B都是声明 channel;C 读取 channel;写 channel 是必须带上值,所以 D 错误。

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

  • A.0
  • B.1
  • C.Compilation error
    ```go type person struct {
    name string }

func main() {
var m map[person]int p := person{"mike"} fmt.Println(m[p]) }


参考答案及解析:A。打印一个 map 中不存在的值时,返回元素类型的零值。这个例子中,m 的类型是 map[person]int,因为 m 中不存在 p,所以打印 int 类型的零值,即 0。 


3.下面这段代码输出什么?
- A.18
- B.5
- C.Compilation error  
```go
func hello(num ...int) {  
    num[0] = 18
}

func main() {  
    i := []int{5, 6, 7}
    hello(i...)
    fmt.Println(i[0])
}

参考答案及解析:18。知识点:可变函数。可以看下之前发过的文章。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1510 次点击  ∙  1 赞  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传