<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Golang 基礎(chǔ)面試題 01

          共 3449字,需瀏覽 7分鐘

           ·

          2023-09-18 23:12

          Golang 面試題合集.png

          背景


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

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

          image.png

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

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

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

          Go 101

          Go 語言有哪些特點(diǎn)

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

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

          正確?

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

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

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

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

          package main

          import "fmt"

          func main() {
            x := 2 // 只能在函數(shù)內(nèi)使用,自動類型推導(dǎo)
            var y int = 2

            fmt.Printf("x: %v. y: %v", x, y)
          }

          正確?還是錯誤?

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

          下面這段代碼的結(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 進(jìn)行類型推導(dǎo)。

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

          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 格式化之后的代碼對齊的非常工整,強(qiáng)迫癥的福音。

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


          往期推薦

          k8s入門到實(shí)戰(zhàn)--跨服務(wù)調(diào)用

          k8s 入門到實(shí)戰(zhàn)--部署應(yīng)用到 k8s

          使用 SQL 的方式查詢消息隊(duì)列數(shù)據(jù)以及踩坑指南

          VictoriaLogs:一款超低占用的 ElasticSearch 替代方案

          k8s 常見面試題


           

          鼓勵一下

          贊完再走

           


          瀏覽 342
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文字幕不卡视频 | 亚州精品天堂中文字幕 | 末成年小嫩xB性AV | 亚洲AV无码久久蜜桃杨思敏 | 男女啪啪18秘 免费网站 |