Go 面試天天一篇(第 8 天)

1.關於init函數,下面說法正確的是()面試

  • A. 一個包中,能夠包含多個 init 函數;
  • B. 程序編譯時,先執行依賴包的 init 函數,再執行 main 包內的 init 函數;
  • C. main 包中,不能有 init 函數;
  • D. init 函數能夠被其餘函數調用;

2.下面這段代碼輸出什麼以及緣由?函數

func hello() []string {  
    return nil
}

func main() {  
    h := hello
    if h == nil {
        fmt.Println("nil")
    } else {
        fmt.Println("not nil")
    }
}
複製代碼
  • A. nil
  • B. not nil
  • C. compilation error

3.下面這段代碼可否編譯經過?若是能夠,輸出什麼?ui

func GetValue() int {
	return 1
}

func main() {
	i := GetValue()
	switch i.(type) {
	case int:
		println("int")
	case string:
		println("string")
	case interface{}:
		println("interface")
	default:
		println("unknown")
	}
}
複製代碼

歡迎掃碼關注公衆號「Golang來啦」或者移步 seekload.net ,查看答案和最新面試題。spa

公衆號二維碼
相關文章
相關標籤/搜索