欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang?基礎(chǔ)面試題集錦

 更新時間:2023年09月14日 09:29:06   作者:crossoverJie  
這篇文章主要為大家介紹了Golang?基礎(chǔ)面試題集錦,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

背景

在之前的文章中分享了 k8s 相關(guān)的面試題,本文我們重點來討論和 k8s 密切相關(guān)的 Go 語言面試題。

這幾年隨著云原生的興起,大部分后端開發(fā)者,特別是 Java 開發(fā)者都或多或少的想學習一些 Go 相關(guān)的技能,所以今天分享的內(nèi)容比較初級,適合 Go 語言初學者。

本文內(nèi)容依然來自于這個倉庫
https://github.com/bregman-arie/devops-exercises

以下是具體內(nèi)容:

()的內(nèi)容是我的補充部分。

Go 語言有哪些特點

  • Go 是一種強類型靜態(tài)語言,變量的類型必須在聲明的時候指定(但可以使用類型推導),在運行時不能修改變量類型(與 Python 這類動態(tài)類型語言不同)。
  • 足夠的簡單,通常一個周末就能學會
  • 編譯速度夠快
  • 內(nèi)置并發(fā)(相對于 Java 的并發(fā)來說非常簡單)
  • 內(nèi)置垃圾收集
  • 多平臺支持
  • 可以打包到一個二進制文件中,所有運行時需要依賴的庫都會被打包進這個二進制文件中,非常適合于分發(fā)。

Go 是一種編譯型的靜態(tài)類型語言,正確還是錯誤

正確?

為什么有些函數(shù)是以大寫字母開頭的

這是因為 Go 語言中首字母大寫的函數(shù)和變量是可以導出的,也就是可以被其他包所引用;類似于 Java 中的 public 和 private 關(guān)鍵字。

變量和數(shù)據(jù)類型

簡潔和常規(guī)聲明變量方式

package main
import "fmt"
func main() {
  x := 2 // 只能在函數(shù)內(nèi)使用,自動類型推導
  var y int = 2
  fmt.Printf("x: %v. y: %v", x, y)
}

正確?還是錯誤?

  • 可以重復聲明變量?(強類型語言的特性)
  • 變量一旦聲明,就必須使用?(避免聲明無效變量,增強代碼可讀性)

下面這段代碼的結(jié)果是什么?

package main
import "fmt"
func main() {
    var userName
    userName = "user"
    fmt.Println(userName)
}

編譯錯誤,變量 userName 沒有聲明類型;修改為這樣是可以的:

func main() {
    var userName string
    userName = "user"
    fmt.Println(userName)
}

var x int = 2 and x := 2 這兩種聲明變量的區(qū)別

結(jié)果上來說是相等的,但 x := 2 只能在函數(shù)體類聲明。

下面這段代碼的結(jié)果是聲明?

package main
import "fmt"
x := 2
func main() {
    x = 3
    fmt.Println(x)
}

編譯錯誤,x := 2 不能在函數(shù)體外使用, x = 3 沒有指定類型,除非使用 x := 3 進行類型推導。

如何使用變量聲明塊(至少三個變量)

package main
import "fmt"
var (
  x bool   = false
  y int    = 0
  z string = "false"
)
func main() {
  fmt.Printf("The type of x: %T. The value of x: %v\n", x, x)
  fmt.Printf("The type of y: %T. The value of y: %v\n", y, y)
  fmt.Printf("The type of z: %T. The value of z: %v\n", y, y)
}

變量塊配合 go fmt 格式化之后的代碼對齊的非常工整,強迫癥的福音。

Go 的基礎(chǔ)面試題也蠻多的,我們先從基礎(chǔ)的開始,今后后繼續(xù)更新相關(guān)面試題,難度也會逐漸提高,感興趣的朋友請持續(xù)關(guān)注。

以上就是Golang 基礎(chǔ)面試題集錦的詳細內(nèi)容,更多關(guān)于Golang 基礎(chǔ)面試題的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Golang中的閉包(Closures)詳解

    Golang中的閉包(Closures)詳解

    在?Golang?中,閉包是一個引用了作用域之外的變量的函數(shù),Golang?中的匿名函數(shù)也被稱為閉包,閉包可以被認為是一種特殊類型的匿名函數(shù),所以本文就給大家詳細的介紹一下Golang的閉包到底是什么,感興趣的小伙伴跟著小編一起來看看吧
    2023-07-07
  • Kafka安裝部署+go整合過程

    Kafka安裝部署+go整合過程

    go語言是一種快速、分布式、并發(fā)編程的語言,它天生適合于處理高并發(fā)場景下的消息傳遞和處理,在本文中,我們將介紹Kafka安裝部署+go整合過程,感興趣的朋友一起看看吧
    2024-08-08
  • 一文帶大家了解Go語言中的內(nèi)聯(lián)優(yōu)化

    一文帶大家了解Go語言中的內(nèi)聯(lián)優(yōu)化

    內(nèi)聯(lián)優(yōu)化是一種常見的編譯器優(yōu)化策略,通俗來講,就是把函數(shù)在它被調(diào)用的地方展開,這樣可以減少函數(shù)調(diào)用所帶來的開銷,本文主要為大家介紹了Go中內(nèi)聯(lián)優(yōu)化的具體使用,需要的可以參考下
    2023-05-05
  • go Antlr重構(gòu)腳本解釋器實現(xiàn)示例

    go Antlr重構(gòu)腳本解釋器實現(xiàn)示例

    這篇文章主要為大家介紹了go Antlr重構(gòu)腳本解釋器實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • golang語言中for循環(huán)語句用法實例

    golang語言中for循環(huán)語句用法實例

    這篇文章主要介紹了golang語言中for循環(huán)語句用法,實例分析了for循環(huán)遍歷的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • 使用golang實現(xiàn)一個MapReduce的示例代碼

    使用golang實現(xiàn)一個MapReduce的示例代碼

    這篇文章主要給大家介紹了關(guān)于如何使用golang實現(xiàn)一個MapReduce,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • Go defer 原理和源碼剖析(推薦)

    Go defer 原理和源碼剖析(推薦)

    這篇文章主要介紹了Go defer 原理和源碼剖析,需要的朋友可以參考下
    2021-11-11
  • 一文了解Go語言io.Copy函數(shù)

    一文了解Go語言io.Copy函數(shù)

    這篇文章主要為大家介紹了Go語言io.Copy函數(shù)使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Golang Gin框架實現(xiàn)文件下載功能的示例代碼

    Golang Gin框架實現(xiàn)文件下載功能的示例代碼

    本文主要介紹了Golang Gin框架實現(xiàn)文件下載功能的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 一文詳解Golang中字符串的常見錯誤

    一文詳解Golang中字符串的常見錯誤

    這篇文章主要來和大家深入討論一下Golang?中的字符串,并查看一些不同的場景,以避免常見錯誤,對大家掌握golang有一定的幫助,需要的可以了解下
    2023-10-10

最新評論