欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何分析Go語言的類型系統(tǒng)

這篇文章的內(nèi)容主要圍繞如何分析Go語言的類型系統(tǒng)進行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!

長沙網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

對于面向?qū)ο缶幊痰闹С郑珿o 語言的實現(xiàn)可以說是完全顛覆了以往我們對面向?qū)ο缶幊痰恼J(rèn)知,下面我們先通過對 Go 語言類型系統(tǒng)的介紹讓你有一個整體的認(rèn)知。

Go 語言面向?qū)ο缶幊淘O(shè)計得簡潔而優(yōu)雅。

簡潔之處在于,Go 語言并沒有沿襲傳統(tǒng)面向?qū)ο缶幊讨械闹T多概念,比如類的繼承、接口的實現(xiàn)、構(gòu)造函數(shù)和析構(gòu)函數(shù)、隱藏的 this 指針等,也沒有 public、protected、private 之類的可見性修飾符。

優(yōu)雅之處在于,Go 語言對面向?qū)ο缶幊痰闹С质钦Z言類型系統(tǒng)中的天然組成部分,整個類型系統(tǒng)通過接口串聯(lián),渾然一體。

很少有編程類的書談及類型系統(tǒng)這個話題,實際上類型系統(tǒng)才是一門編程語言的地基,它的地位至關(guān)重要。因此,這里我們將從類型系統(tǒng)入手介紹 Go 語言的面向?qū)ο缶幊烫匦浴?/p>

顧名思義,類型系統(tǒng)是指一個語言的類型體系結(jié)構(gòu)。一個典型的類型系統(tǒng)通常包含如下基本內(nèi)容:

  • 基礎(chǔ)類型,如 byteintboolfloatstring 等;

  • 復(fù)合類型,如數(shù)組、切片、 字典、結(jié)構(gòu)體、指針等;

  • 可以指向任意對象的類型(Any 類型);

  • 值語義和引用語義;

  • 面向?qū)ο螅此芯邆涿嫦驅(qū)ο筇卣鳎ū热绯蓡T方法)的類型;

  • 接口。

類型系統(tǒng)描述的是這些內(nèi)容在一個語言中如何被關(guān)聯(lián)。因為 Java 語言自誕生以來被稱為最純正的面向?qū)ο笳Z言,所以我們就先以 Java 語言為例講一講類型系統(tǒng)。

在 Java 語言中,存在兩套完全獨立的類型系統(tǒng):一套是值類型系統(tǒng),主要是基本類型,如 byteintbooleanchardouble 等,這些類型基于值語義;一套是以 Object 類型為根的對象類型系統(tǒng),這些類型可以定義成員變量和成員方法,可以有虛函數(shù),基于引用語義,只允許在堆上創(chuàng)建(通過使用關(guān)鍵字 new)。Java 語言中的 Any 類型就是整個對象類型系統(tǒng)的根 —— java.lang.Object 類型,只有對象類型系統(tǒng)中的實例才可以被 Any類型引用。值類型想要被 Any 類型引用,需要裝箱 (boxing)過程,比如 int 類型需要裝箱成為 Integer 類型。另外,只有對象類型系統(tǒng)中的類型才可以實現(xiàn)接口,具體方法是讓該類型從要實現(xiàn)的接口繼承。

相比之下,Go 語言中的大多數(shù)類型都是值語義,并且都可以包含對應(yīng)的操作方法。在需要的時候,你可以給任何類型(包括內(nèi)置類型)增加新方法。而在實現(xiàn)某個接口時,無需從該接口繼承(事實上,Go 語言根本就不支持面向?qū)ο笏枷胫械睦^承、實現(xiàn)語法),只需要實現(xiàn)該接口要求的所有方法即可。任何類型都可以被 Any 類型引用。在 Go 語言中,Any 類型就是空接口,即 interface{}

注:這里的值語義和引用語義等價于之前介紹類型時提到的值類型和引用類型。

go是什么

golang是一種編譯語言,可以將代碼編譯為機器代碼,編譯后的二進制文件可以直接部署到目標(biāo)機器而無需額外的依賴,所以golang的性能優(yōu)于其他的解釋性語言,且可以在golang中使用goroutine來實現(xiàn)并發(fā)性,它提供了一個非常優(yōu)雅的goroutine調(diào)度程序系統(tǒng),可以很容易地生成數(shù)百萬個goroutine。

感謝你的閱讀,相信你對“如何分析Go語言的類型系統(tǒng)”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關(guān)知識點,可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站!小編會繼續(xù)為大家?guī)砀玫奈恼拢?/p>

網(wǎng)站題目:如何分析Go語言的類型系統(tǒng)
轉(zhuǎn)載來源:http://chinadenli.net/article28/ppiscp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航搜索引擎優(yōu)化App設(shè)計用戶體驗外貿(mào)網(wǎng)站建設(shè)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司