亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GO語言的類型有哪些

發布時間:2021-10-12 10:57:44 來源:億速云 閱讀:115 作者:iii 欄目:編程語言

本篇內容主要講解“GO語言的類型有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“GO語言的類型有哪些”吧!

1、值的類型給編譯器提供兩部分信息:一是,需要分配多少內存給這個值(即值的規模);二是這段內存表示什么。

2、用戶自定義類型有兩種方法。一是使用關鍵字 struct ,來創建一個結構類型;二是基于一個已有的類型,將其作為新類型的類型說明。

    1)

type admin struct {
  person user
  level String
}

  2) 

type Duration int64

3、創建變量方法有三。一是用關鍵字 var 創建一個變量并初始化為其零值;二是配合結構字面量({ }),三是配合短變量聲明操作符(:=)來創建非零變量。

4、方法:實際上是函數,聲明時在關鍵字 func 和方法名之間加一個參數(接收者)。

    1)接受者分為接收者和指針接收者
    2)(*lisa).notify()  這里的指針變量 lisa 被解引為值。因為 notify方法的接收者為值類型。方法的值接收者操作的是一個副本。
    3)值接收者使用值的副本來調用方法,而指針接受者使用實際值來調用方法
    4)(&bill).changeEmail ("bill@newdomain.com")  (&bill) 引用值的指針,changeEmail 方法接收者為指針類型。

5、類型的本質

    類型的本質是什么。如果給這個類型增加或刪除某個值,是要創建一個新值,還是要更改當前的值?如果是要創建一個新值,該類型的方法就使用值接收者。如果是要修改當前值,就使用指針接收者。

    1)內置類型
        本質上是原始類型由語言提供,包括:數值型、字符串型和布爾型。基本數據值。

    2)引用類型
        切片、映射、通道、接口和函數類型。當聲明上述類型的變量時,創建的變量被稱作標頭(header)值。引用類型的值在其他方面像原始的數據類型的值一樣對待

    3)結構類型
        用于描述一組數據值。繼續找資料,不是很理解。

6、接口

    1)多態是指代碼可以根據類型的具體實現采取不同行為的能力。
    2)“接口用來定義行為的類型。這些被定義的行為不由接口直接實現,而是通過方法由用戶定義的類型實現。用戶定義的類型通常叫實體類型。
    3)滿足接口的實現,對用戶自定義類型的值的要求:
        GO語言的類型有哪些
    4)用戶定義的類型值是如何存入接口的。分為兩種情況,實體值賦值給接口、實體指針賦值給接口。
    5)方法集:定義了接口的接受的規則。方法集定義了一組關聯到給定類型的值或者指針的方法。
    6)編譯器并不是總能自動獲得一個值的地址,所以值的方法集只包括了使用值接收者實現的方法。
    7)結構類型type x struct { }、   type x interface 接口類型、type x  inter64 基于已有類型創建新類型。

7、嵌入類型
    通過嵌入類型,與內部類型相關的標識符會提升到外部類型上。外部類型也可以通過聲明與內部類型標識符同名的標識符來覆蓋內部標識符的字段或者方法。這就是擴展或者修改已有類型的方法。

8、公開或未公開的標識符

 1)當一個標識符的名字以小寫字母開頭時,這個標識符就是未公開的,即包外的代碼不可見。如果一個標識符以大寫字母開頭,這個標識符就是公開的,即被包外的代碼可見。
2)當要寫的代碼屬于某個包時,好的實踐是使用與代碼所在文件夾一樣的名字作為包名。所有的 Go 工具都會利用這個習慣,所以最好遵守這個好的實踐。
3)將工廠函數命名為 New 是 Go 語言的一個習慣。
4)未公開的類型不能直接訪問。未公開的內嵌類型不能直接訪問,如未公開的內嵌類型中有公開的字段,這些公開的字段可以提升的父級類型,因此可以通過公開的父級類型訪問內嵌類中的公開的字段。

到此,相信大家對“GO語言的類型有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巫溪县| 法库县| 芒康县| 安宁市| 碌曲县| 资中县| 罗平县| 西畴县| 咸丰县| 土默特右旗| 香河县| 绥宁县| 长子县| 陆川县| 高邑县| 孟津县| 达尔| 抚松县| 博爱县| 九龙城区| 钟祥市| 富宁县| 松桃| 和静县| 灌云县| 博爱县| 荣成市| 顺昌县| 铜鼓县| 北宁市| 定襄县| 易门县| 巩义市| 依安县| 台东市| 中超| 中方县| 清徐县| 白朗县| 莆田市| 襄汾县|