最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
怎么理解Go語言的map和指針-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“怎么理解Go語言的map和指針”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么理解Go語言的map和指針”吧!

10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有阿榮免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

示例:

rec1 := make(map[string]int)

rec1["width"] = 1

rec1["height"] = 3

以上兩種聲明和初始化方式效果是一樣的,根據(jù)實際情況選用。試試訪問不存在的Key看會怎樣?

fmt.Println(rec["point"])

結(jié)果會輸出:0,不會報錯!它返回了int的默認值:0。

Key是否存在

那怎么判斷一個Key到底是否存在呢?可如下實現(xiàn):

if val, ok := rec["point"]; ok {

fmt.Println(val)

} else {

fmt.Println("key point not exists")

}

遍歷

for k, v := range rec {

fmt.Println(k, "=", v)

}

刪除Key

delete(rec, "width")

if val, ok := rec["width"]; ok {

fmt.Println(val)

} else {

fmt.Println("key width has been deleted")

}

指針

Go作者之一是Thompson,他發(fā)明了后來衍生出C語言的B程序語言,作為鼻祖,設(shè)計的新語言指針必須有。Go里的指針和C的指針語法使用上基本一樣,區(qū)別是Go里不能對指針進行算術(shù)運算。

func pointers() {

x := new(int)

*x = 2

fmt.Println(reflect.TypeOf(x), *x, x)

y := 2

fmt.Println(&y, reflect.TypeOf(&y), reflect.TypeOf(y))

pointParam(&y)

}

func pointerParam(p *int) {

fmt.Println(reflect.TypeOf(p), p, *p)

}

上面的new可以看成是C里面的malloc,為類型分配對應(yīng)的內(nèi)存空間,然后返回對應(yīng)內(nèi)存的指針即內(nèi)存地址,new函數(shù)相當于下面的函數(shù)功效:

func newInt() *int {

var i int

return &i

}

x := newInt()

到此,相信大家對“怎么理解Go語言的map和指針”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!


本文題目:怎么理解Go語言的map和指針-創(chuàng)新互聯(lián)
文章鏈接:http://fisionsoft.com.cn/article/dgchjg.html