Go面试题40

Posted by     "" on Monday, January 6, 2020

Go面试题40

1: 关于select 机制, 下面说法正确的是?

  • A. select机制用来处理异步io问题.
  • B. select 机制最大的一条限制就是每个case语句必须是一个io操作.
  • C. golang 在语言级别支持select关键字;
  • D. select 关键字的用法和switch 语句非常类似, 后面要带判断条件.

2: 下面的代码有什么问题?

func Stop(stop <-chan bool) {
    close(stop)
}

3: 下面这段代码存在什么问题?

type Param map[string]interface{}
type Show struct {
    *Param
}
func main() {
    s := new(Show)
    s.Param["day"] = 2

}

参考答案及解析

1: 答案及解析: ABC

2: 答案及解析: 有方向的channel不可以被关闭.

3: 答案及解析: 存在2个问题:

map需要初始化才能使用
指针不支持索引

修复代码如下:

func main() {
    s := new(Show)
    //修复代码
    p := make(Param)
    p["day"] = 2
    s.Param = &p
    tmp := *s.Param
    fmt.Println(tmp["day"])
}

「真诚赞赏,手留余香」

Richie Time

真诚赞赏,手留余香

使用微信扫描二维码完成支付