要判斷數(shù)據(jù)類型用Go空接口: 建函數(shù)t 設(shè)置參數(shù)i 類型空接口空接口接受任何數(shù)據(jù)類型 func t(i interface{}) { //函數(shù)t 參數(shù)i switch i.(type) { //選語(yǔ)句switch case string: //字符做事情 case int: //整...

梅河口網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
new 主要用于結(jié)構(gòu)體的初始化
make用于數(shù)組array,切片slice,協(xié)程chnnel的初始化
例如: users:=make([10]int);
msg:=make(chan int);
new會(huì)分配結(jié)構(gòu)空間,并初始化為清空為零,不進(jìn)一步初始化
new之后需要一個(gè)指針來(lái)指向這個(gè)結(jié)構(gòu)
make會(huì)分配結(jié)構(gòu)空間及其附屬空間,并完成其間的指針初始化
make返回這個(gè)結(jié)構(gòu)空間,不另外分配一個(gè)指針
例子new:
var p *[]int = new([]int)
或
p := new([]int)
以上分配了一個(gè)slice結(jié)構(gòu),但是結(jié)構(gòu)中的應(yīng)該指向底層數(shù)組的ptr指針為空,故實(shí)際不能往這個(gè)slice里面存取數(shù)據(jù)
同時(shí)分配了一個(gè)指針p,也即(在32位系統(tǒng)中)占4個(gè)字節(jié)并存放slice結(jié)構(gòu)的地址
例子make:
var v []int = make([]int, 0)
v := make([]int, 0)
以上分配了一個(gè)slice結(jié)構(gòu),且結(jié)構(gòu)中的應(yīng)該指向底層數(shù)組的ptr指針已經(jīng)指向了某個(gè)底層數(shù)組,這個(gè)底層數(shù)組應(yīng)該已經(jīng)分配了,故這個(gè)slice已經(jīng)可以使用了
注意v就是這個(gè)slice結(jié)構(gòu),而不是一個(gè)指向slice的指針
上述僅是示例,一般使用時(shí)都會(huì)明確長(zhǎng)度和容量:v := make([]int, 10, 50)
結(jié)論:
由上可見(jiàn),用new來(lái)分配slice的意義不大,因?yàn)闆](méi)有恰當(dāng)?shù)某跏蓟瑹o(wú)法直接使用
有附帶空間的結(jié)構(gòu),使用make來(lái)初始化,可以完成內(nèi)部指針初始化,其后可以立即使用
new是內(nèi)建函數(shù),作用是初始化一個(gè)指向類型的指針,make的作用是slice,map或chan初始化并返回引用,第一個(gè)參數(shù)是一個(gè)類型,第二個(gè)參數(shù)是長(zhǎng)度。
新聞標(biāo)題:go語(yǔ)言中make函數(shù),golang make函數(shù)
瀏覽路徑:http://www.yijiale78.com/article14/dschsge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作、品牌網(wǎng)站制作、網(wǎng)站排名、標(biāo)簽優(yōu)化、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容