久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

golang怎么實(shí)現(xiàn)指針轉(zhuǎn)換

在golang中,可以利用unsafe包來實(shí)現(xiàn)指針轉(zhuǎn)換,實(shí)現(xiàn)內(nèi)存地址在不同指針類型間的轉(zhuǎn)換,進(jìn)而更靈活地操作內(nèi)存。例如unsafe包下的Pointer()函數(shù)可以將任意變量的地址轉(zhuǎn)換成Pointer類型,也可以將Pointer類型轉(zhuǎn)換成任意的指針類型,Pointer類型是不同指針類型之間互轉(zhuǎn)的中間類型。

golang怎么實(shí)現(xiàn)指針轉(zhuǎn)換

本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。

在golang中,可以利用unsafe包來實(shí)現(xiàn)指針轉(zhuǎn)換。

golang的指針轉(zhuǎn)換

Golang 提供了 unsafe 包,讓我們能夠直接操作指定內(nèi)存地址的內(nèi)存。

unsafe包下,有定義type Pointer *ArbitraryType(任意類型指針),可繞過GO的類型限制,type ArbitraryType int

  • 任何類型的指針值都可以轉(zhuǎn)換為Pointer。

  • Pointer可以轉(zhuǎn)換為任何類型的指針值。

  • uintptr可以轉(zhuǎn)換為Pointer。

  • Pointer可以轉(zhuǎn)換為uintptr。

通過 unsafe.Pointer() 函數(shù),我們能夠獲取變量的內(nèi)存地址表示,本質(zhì)上這是個(gè)整數(shù)。可以將任意變量的地址轉(zhuǎn)換成 Pointer 類型,也可以將 Pointer 類型轉(zhuǎn)換成任意的指針類型,它是不同指針類型之間互轉(zhuǎn)的中間類型。

golang怎么實(shí)現(xiàn)指針轉(zhuǎn)換

但 Pointer 不支持運(yùn)算,如果要在內(nèi)存地址上進(jìn)行加減運(yùn)算,需要將其轉(zhuǎn)為 uintptr 類型。

下面我們嘗試讀取切片地址,并通過內(nèi)存操作遍歷其內(nèi)容:

package main  import "fmt" import "unsafe"  func main() { 	// head = {address, 10, 10} 	// body = [1,2,3,4,5,6,7,8,9,10] 	var s = []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 	var address = (**[10]int)(unsafe.Pointer(&s)) 	var len = (*int)(unsafe.Pointer(uintptr(unsafe.Pointer(&s)) + uintptr(8))) 	var cap = (*int)(unsafe.Pointer(uintptr(unsafe.Pointer(&s)) + uintptr(16))) 	fmt.Println(address, *len, *cap) 	var body = **address 	for i := 0; i < 10; i++ { 		fmt.Printf("%d ", body[i]) 	} } ---------- 0xc000004460 10 10 1 2 3 4 5 6 7 8 9 10
登錄后復(fù)制

golang怎么實(shí)現(xiàn)指針轉(zhuǎn)換

上述代碼中:

  • unsafe.Pointer(&s) 獲取切片 s 底層表示的第一個(gè)位置的內(nèi)存地址,也即底層數(shù)組的地址存放地址,

    通過 (**[10]int)(unsafe.Pointer(&s)) 將其轉(zhuǎn)為 **[10]int 類型指針,又通過 **addrss 還原為數(shù)組;

  • unsafe.Pointer(uintptr(unsafe.Pointer(&s)) + uintptr(8)) 通過地址運(yùn)算,獲得 length 的存放地址,

    進(jìn)而通過 (*int)(unsafe.Pointer(uintptr(unsafe.Pointer(&s)) + uintptr(8))) 將 length 內(nèi)存轉(zhuǎn)為 int 指針

    最后通過 *len 獲取切片長(zhǎng)度;

    對(duì)于 cap 的操作與 len 類似,不再贅述;

總之:

通過 unsafe,我們能夠?qū)崿F(xiàn)內(nèi)存地址在不同指針類型間的轉(zhuǎn)換,進(jìn)而更靈活地操作內(nèi)存;

本實(shí)驗(yàn)也進(jìn)一步驗(yàn)證了切片的底層存儲(chǔ)結(jié)構(gòu);

unsafe 在不是必須的條件下應(yīng)該少使用,直接操作內(nèi)存畢竟是風(fēng)險(xiǎn)較大的;

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日韩精品欧美精品| 99久久www免费| 精品国产一级| 影音先锋国产精品| 欧美日韩va| 在线亚洲免费| 精品在线网站观看| 亚洲精品在线国产| 久久理论电影| 欧美日韩亚洲一区| 国产亚洲激情| 精品一级视频| 日本91福利区| 亚洲一区欧美二区| 国产h片在线观看| 欧美视频久久| 亚洲尤物在线| 久久精品日韩欧美| 亚洲黄色中文字幕| 久久国产精品久久久久久电车 | 日韩欧美中文在线观看| 国产日本精品| 亚洲啊v在线| 中文视频一区| 91亚洲国产| 丝袜a∨在线一区二区三区不卡 | 久久国产精品美女| 视频一区日韩精品| 亚洲精选91| 久久午夜影视| 亚洲欧美网站| 美女91精品| 蜜臀av在线播放一区二区三区| 1000部精品久久久久久久久| 国产成人久久精品麻豆二区| 久久这里只有| 亚洲欧洲免费| 亚洲精品在线影院| 国产理论在线| 免费成人在线观看| 中文字幕一区二区三区四区久久| 欧美日韩国产传媒| 天堂成人国产精品一区| 伊人久久大香伊蕉在人线观看热v| 在线观看视频免费一区二区三区| 亚洲精品日本| 国产乱人伦精品一区| 免费日韩一区二区三区| 久久精品国产久精国产爱| 国产日韩欧美在线播放不卡| 国产欧美另类| 日韩免费小视频| 在线视频免费在线观看一区二区| 一区二区国产在线| 免费看一区二区三区| 久久精品123| 日产精品一区二区| 亚洲欧美日韩国产一区二区| 日欧美一区二区| 欧美黄色一区二区| 免费在线成人网| 国产精品66| 不卡一区综合视频| 91精品一区| 精品国产中文字幕第一页| 亚洲午夜黄色| 国产欧美日韩一级| 99热精品在线| 国产成人免费| 日韩精品欧美大片| 免费久久精品| 国产日韩欧美一区二区三区在线观看| 国产白浆在线免费观看| 一区二区国产在线| 久久精品卡一| 国产aⅴ精品一区二区四区| 最新日韩av| 在线手机中文字幕| 国产精品永久| 久久精品国产99久久| 高清一区二区| 国产精品久久久久9999高清| 欧美激情aⅴ一区二区三区| 亚洲精品自拍| 先锋影音久久久| 国产真实久久| 亚洲成人av观看| 亚洲少妇自拍| 香蕉人人精品| 亚洲伦乱视频| 正在播放日韩精品| 国产一区二区三区成人欧美日韩在线观看| 天堂va欧美ⅴa亚洲va一国产| 狠狠色狠狠色综合日日tαg| 久久91视频| 久久精品免费看| 精品入口麻豆88视频| 日本高清久久| 日韩高清国产一区在线| 亚洲精品福利| 天堂va欧美ⅴa亚洲va一国产| 婷婷精品在线| 国产乱人伦精品一区| 国产精品欧美三级在线观看 | 日韩有吗在线观看| 欧美专区18| 精品三级久久| 99精品美女| 在线亚洲成人| 日本不卡一区二区三区| 日韩精品欧美精品| 国产亚洲欧美日韩精品一区二区三区| 日韩欧美中文字幕一区二区三区 | 婷婷综合电影| 国产精品videosex极品| 国产福利电影在线播放| 蜜桃av.网站在线观看| 日韩在线观看不卡| 精品中文一区| 日韩欧美激情电影| 久久亚洲道色| 91久久国产| 日韩高清欧美激情| 樱桃视频成人在线观看| 欧美日韩国产一区精品一区| 婷婷精品在线观看| 国产中文在线播放| 三级亚洲高清视频| 久久国产主播| 国产日韩三级| 欧美不卡在线| 国产精品久久久久av蜜臀| 日韩黄色大片| 中文字幕乱码亚洲无线精品一区| 欧美成人精品一级| 久久电影一区| 日韩在线不卡| 国产精品一站二站| 久久亚洲欧美| 蜜桃精品在线| 国产极品嫩模在线观看91精品| 国产韩日影视精品| 欧美交a欧美精品喷水| 国产亚洲精品久久久久婷婷瑜伽| 欧美国产中文高清| 亚洲精品在线a| 亚洲精品电影| 久久久久久亚洲精品美女| 视频一区二区三区在线| 久久精品官网| 日本在线高清| 精品少妇av| 精品一区av| 麻豆91小视频| 久久99精品久久久野外观看| 亚洲精选91| 日韩制服丝袜av| 欧美一级精品| 成人羞羞视频播放网站| 国产一区二区三区不卡视频网站 | 国产情侣久久| 亚洲欧美在线综合| 亚洲一区二区三区免费在线观看 | 伊人成人网在线看| 成人日韩在线| 久久精品亚洲人成影院| 日韩伦理在线一区| av日韩中文| 中文字幕乱码亚洲无线精品一区| 精品视频国产| 精品国产午夜肉伦伦影院| 麻豆成人av在线| jizzjizz中国精品麻豆| 亚洲一级少妇| 久久久9色精品国产一区二区三区| 成人精品中文字幕| 99在线|亚洲一区二区| 日韩视频在线一区二区三区| 99视频+国产日韩欧美| 最新国产精品视频| 日本一区免费网站| 国产精品第一国产精品| 精品亚洲成人| 91精品一区二区三区综合| 国内精品99| 久热精品在线| 日韩中文字幕视频网| 国产精品一国产精品| 国产福利91精品一区二区| 国产精品久久观看| 激情五月色综合国产精品| 欧美在线网站| 国产伦精品一区二区三区在线播放 | 国产精品3区| 午夜日韩av| 欧美日韩精品一区二区三区视频 | 99久久亚洲精品蜜臀| 免费美女久久99| 欧美一区二区三区久久| 日韩欧美另类一区二区|