您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“2021年Go語言的最新面試題有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
1、編譯執(zhí)行下面代碼會出現(xiàn)什么?
package main var( size :=1024 max_size = size*2 ) func main() { println(size,max_size) }
解析 考點:變量簡短模式 變量簡短模式限制: - 定義變量同時顯式初始化 - 不能提供數(shù)據(jù)類型 - 只能在函數(shù)內(nèi)部使用
結(jié)果:
syntax error: unexpected :=
2、下面函數(shù)有什么問題?
package main const cl = 100 var bl = 123 func main() { println(&bl,bl) println(&cl,cl) }
解析 考點:常量 常量不同于變量的在運行期分配內(nèi)存,常量通常會被編譯器在預(yù)處理階段直接展開,作為指令數(shù)據(jù)使用,
cannot take the address of cl
3、編譯執(zhí)行下面代碼會出現(xiàn)什么?
package main
func main() {
for i:=0;i<10 ;i++ { loop: println(i) } goto loop
}
解析 考點:goto goto
不能跳轉(zhuǎn)到其他函數(shù)或者內(nèi)層代碼
goto loop jumps into block starting at
4、編譯執(zhí)行下面代碼會出現(xiàn)什么?
package main import "fmt" func main() { type MyInt1 int type MyInt2 = int var i int =9 var i1 MyInt1 = i var i2 MyInt2 = i fmt.Println(i1,i2) }
解析 考點:Go 1.9 新特性 Type Alias 基于一個類型創(chuàng)建一個新類型,稱之為defintion;基于一個類型創(chuàng)建一個別名,稱之為alias。 MyInt1為稱之為defintion,雖然底層類型為int類型,但是不能直接賦值,需要強(qiáng)轉(zhuǎn); MyInt2稱之為alias,可以直接賦值。
結(jié)果:
cannot use i (type int) as type MyInt1 in assignment
5、編譯執(zhí)行下面代碼會出現(xiàn)什么?
package main import "fmt" type User struct { } type MyUser1 User type MyUser2 = User func (i MyUser1) m1(){ fmt.Println("MyUser1.m1") } func (i User) m2(){ fmt.Println("User.m2") } func main() { var i1 MyUser1 var i2 MyUser2 i1.m1() i2.m2() }
解析 考點:Go 1.9 新特性 Type Alias 因為MyUser2完全等價于User,所以具有其所有的方法,并且其中一個新增了方法,另外一個也會有。 但是
i1.m2()
是不能執(zhí)行的,因為MyUser1沒有定義該方法。 結(jié)果:
MyUser1.m1 User.m2
“2021年Go語言的最新面試題有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。