GO面試第六天
阿新 • • 發佈:2022-04-04
1.關於字串連線,下面語法正確的是?
- A. str := ‘abc’ + ‘123’
- B. str := “abc” + “123”
- str := ‘123’ + “abc”
- D. fmt.Sprintf(“abc%d”, 123)
參考答案及解析:BD。知識點:字串連線。除了以上兩種連線 方式,還有 strings.Join()、buffer.WriteString()等
2.下面這段程式碼能否編譯通過?如果可以,輸出什麼?
const ( x = iota _ y z = "zz" k p = iota ) func main() { fmt.Println(x,y,z,k,p) }
參考答案及解析:編譯通過,輸出:0 2 zz zz 5。知識點:iota 的使用。給大家貼篇文章,講的很詳細
https://www.cnblogs.com/zsy/p/5370052.html
3.下面賦值正確的是()
- A. var x = nil
- B. var x interface{} = nil
- C. var x string = nil
- D. var x error = nil
參考答案及解析:BD。知識點:nil 值。nil 只能賦值給指標、chan、func、interface、map 或 slice 型別的變數。強調下 D 選項的 error 型別,它是一種內建介面型別,看下方貼出的原始碼就知道,所以 D 是對的。
type error interface { Error() string }