重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
本篇內(nèi)容主要講解“GO語言的類型有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“GO語言的類型有哪些”吧!
創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,先為欽州等服務(wù)建站,欽州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為欽州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、值的類型給編譯器提供兩部分信息:一是,需要分配多少內(nèi)存給這個(gè)值(即值的規(guī)模);二是這段內(nèi)存表示什么。
2、用戶自定義類型有兩種方法。一是使用關(guān)鍵字 struct ,來創(chuàng)建一個(gè)結(jié)構(gòu)類型;二是基于一個(gè)已有的類型,將其作為新類型的類型說明。
1)
type admin struct { person user level String }
2)
type Duration int64
3、創(chuàng)建變量方法有三。一是用關(guān)鍵字 var創(chuàng)建一個(gè)變量并初始化為其零值;二是配合結(jié)構(gòu)字面量({ }),三是配合短變量聲明操作符(:=)來創(chuàng)建非零變量。
4、方法:實(shí)際上是函數(shù),聲明時(shí)在關(guān)鍵字 func 和方法名之間加一個(gè)參數(shù)(接收者)。
1)接受者分為值接收者和指針接收者
2)(*lisa).notify() 這里的指針變量 lisa 被解引為值。因?yàn)?notify方法的接收者為值類型。方法的值接收者操作的是一個(gè)副本。
3)值接收者使用值的副本來調(diào)用方法,而指針接受者使用實(shí)際值來調(diào)用方法
4)(&bill).changeEmail ("bill@newdomain.com") (&bill) 引用值的指針,changeEmail 方法接收者為指針類型。
5、類型的本質(zhì)
類型的本質(zhì)是什么。如果給這個(gè)類型增加或刪除某個(gè)值,是要?jiǎng)?chuàng)建一個(gè)新值,還是要更改當(dāng)前的值?如果是要?jiǎng)?chuàng)建一個(gè)新值,該類型的方法就使用值接收者。如果是要修改當(dāng)前值,就使用指針接收者。
1)內(nèi)置類型
本質(zhì)上是原始類型由語言提供,包括:數(shù)值型、字符串型和布爾型?;緮?shù)據(jù)值。
2)引用類型
切片、映射、通道、接口和函數(shù)類型。當(dāng)聲明上述類型的變量時(shí),創(chuàng)建的變量被稱作標(biāo)頭(header)值。引用類型的值在其他方面像原始的數(shù)據(jù)類型的值一樣對(duì)待
3)結(jié)構(gòu)類型
用于描述一組數(shù)據(jù)值。繼續(xù)找資料,不是很理解。
6、接口
1)多態(tài)是指代碼可以根據(jù)類型的具體實(shí)現(xiàn)采取不同行為的能力。
2)“接口”是用來定義行為的類型。這些被定義的行為不由接口直接實(shí)現(xiàn),而是通過方法由用戶定義的類型實(shí)現(xiàn)。用戶定義的類型通常叫實(shí)體類型。
3)滿足接口的實(shí)現(xiàn),對(duì)用戶自定義類型的值的要求:
4)用戶定義的類型值是如何存入接口的。分為兩種情況,實(shí)體值賦值給接口、實(shí)體指針賦值給接口。
5)方法集:定義了接口的接受的規(guī)則。方法集定義了一組關(guān)聯(lián)到給定類型的值或者指針的方法。
6)編譯器并不是總能自動(dòng)獲得一個(gè)值的地址,所以值的方法集只包括了使用值接收者實(shí)現(xiàn)的方法。
7)結(jié)構(gòu)類型type x struct { }、 type x interface 接口類型、type x inter64 基于已有類型創(chuàng)建新類型。
7、嵌入類型
通過嵌入類型,與內(nèi)部類型相關(guān)的標(biāo)識(shí)符會(huì)提升到外部類型上。外部類型也可以通過聲明與內(nèi)部類型標(biāo)識(shí)符同名的標(biāo)識(shí)符來覆蓋內(nèi)部標(biāo)識(shí)符的字段或者方法。這就是擴(kuò)展或者修改已有類型的方法。
8、公開或未公開的標(biāo)識(shí)符
1)當(dāng)一個(gè)標(biāo)識(shí)符的名字以小寫字母開頭時(shí),這個(gè)標(biāo)識(shí)符就是未公開的,即包外的代碼不可見。如果一個(gè)標(biāo)識(shí)符以大寫字母開頭,這個(gè)標(biāo)識(shí)符就是公開的,即被包外的代碼可見。
2)當(dāng)要寫的代碼屬于某個(gè)包時(shí),好的實(shí)踐是使用與代碼所在文件夾一樣的名字作為包名。所有的 Go 工具都會(huì)利用這個(gè)習(xí)慣,所以最好遵守這個(gè)好的實(shí)踐。
3)將工廠函數(shù)命名為 New 是 Go 語言的一個(gè)習(xí)慣。
4)未公開的類型不能直接訪問。未公開的內(nèi)嵌類型不能直接訪問,如未公開的內(nèi)嵌類型中有公開的字段,這些公開的字段可以提升的父級(jí)類型,因此可以通過公開的父級(jí)類型訪問內(nèi)嵌類中的公開的字段。
到此,相信大家對(duì)“GO語言的類型有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!