Go面试题11

Posted by     "" on Friday, December 20, 2019

Go面试题11

1: 关于cap()函数的适用类型,下面说法正确的是()

  • A. array
  • B. slice
  • C. map
  • D. channel

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

package main

import "fmt"

func main() {
    var i interface{}
    if i == nil {
        fmt.Println("nil")
        return
    }
    fmt.Println("not nil")
}
  • A. nil
  • B. not nil
  • C. compilation error

3: 下面这段代码输出什么?

package main

import "fmt"

func main() {
    s := make(map[string]int)
    delete(s, "h")
    fmt.Println(s["h"])
}
  • A. runtime panic
  • B. 0
  • C. compilation error

参考答案及解析

1: 答案及解析: ABD. 知识点: cap(), cap() 函数不使用map.
2: 答案及解析: A. 当且仅当接口的动态值和动态类型都为nil时,接口类型值才为nil.
3: 答案及解析: B. 删除map 不存在的键值对时, 不会报错, 相当于没有任何作用; 获取不存在的键值对时,返回值类型对应的零值,所以返回0;

「真诚赞赏,手留余香」

Richie Time

真诚赞赏,手留余香

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