Go語言面試題分享:選擇題10道(1)go語言學習

老男孩Linux發表於2019-11-27

Go語言面試題分享:(選擇題10道)

1、下面屬於關鍵字的是( )

A. Func B. def C. struct D. class

參考答案:AC

2、定義一個包內全域性字串變數,下面語法正確的是 ( )

A. var str string B. str := "" C. str = "" D. var str = ""

參考答案:AD

3、透過指標變數 p 訪問其成員變數 name,下面語法正確的是( )

A. p.name B. (*p).name C. (&p).name D. p->name

參考答案:AB

4、關於介面和類的說法,下面說法正確的是( )

A. 一個類只需要實現了介面要求的所有函式,我們就說這個類實現了該介面

B. 實現類的時候,只需要關心自己應該提供哪些方法,不用再糾結介面需要拆得多細才合理

C. 類實現介面時,需要匯入介面所在的包

D. 介面由使用方按自身需求來定義,使用方無需關心是否有其他模組定義過類似的介面

參考答案:ABD

5、關於字串連線,下面語法正確的是( )

A. str := ‘abc’ + ‘123’ B. str := "abc" + "123"

C. str := '123' + "abc" D. fmt.Sprintf("abc%d", 123)

參考答案:BD

6、關於協程,下面說法正確是( )

A. 協程和執行緒都可以實現程式的併發執行

B. 執行緒比協程更輕量級

C. 協程不存在死鎖問題

D. 透過channel來進行協程間的通訊

參考答案:AD

7、關於迴圈語句,下面說法正確的有( )

A. 迴圈語句既支援for關鍵字,也支援while和do-while

B. 關鍵字for的基本使用方法與C/C++中沒有任何差異

C. for迴圈支援continue和break來控制迴圈,但是它提供了一個更高階的break,可以選擇中斷哪一個迴圈

D. for迴圈不支援以逗號為間隔的多個賦值語句,必須使用平行賦值的方式來初始化多個變數

參考答案:CD

8、對於函式定義:

func add(args ...int) int { sum := 0 for _, arg := range args { sum += arg } return sum}

下面對add函式呼叫正確的是( )

A. add(1, 2) B. add(1, 3, 7) C. add([]int{1, 2}) D. add([]int{1, 3, 7}...)

參考答案:ABD

9、關於型別轉化,下面語法正確的是( )

A.type MyInt intvar i int = 1var j MyInt = i

B.type MyInt intvar i int = 1var j MyInt = (MyInt)i

C.type MyInt intvar i int = 1var j MyInt = MyInt(i)

D.type MyInt intvar i int = 1var j MyInt = i.(MyInt)

參考答案:C

10、關於區域性變數的初始化,下面正確的使用方式是( )

A. var i int = 10 B. var i = 10 C. i := 10 D. i = 10

參考答案:ABC


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952968/viewspace-2665848/,如需轉載,請註明出處,否則將追究法律責任。

相關文章