第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

不同類型的指針有什么區(qū)別?

不同類型的指針有什么區(qū)別?

Go
猛跑小豬 2022-04-20 17:53:32
指針引用內(nèi)存中的位置。據(jù)我所知,實(shí)際上所有內(nèi)存地址都具有相同的類型,而與變量類型無(wú)關(guān)。而不是使用不同的指針類型(*int等*string),這是否可能只對(duì)所有指針類型使用一種類型(var p pointer)?不同的指針類型有什么區(qū)別?package mainimport "fmt"func main() {    i := 5    s := "abc"    var pi *int      // alternatively var pi pointer    var ps *string   // alternatively var ps pointer     pi = &i    ps = &s    fmt.Printf("%p %p", pi, ps)  // result is 0x1040e0f8 0x1040a120}
查看完整描述

2 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

Go 中的類型系統(tǒng)旨在防止與指針相關(guān)的內(nèi)存錯(cuò)誤。這允許程序員有足夠的控制權(quán)來(lái)操作內(nèi)存中的對(duì)象,同時(shí)允許垃圾收集器頂部警察喜怒無(wú)常的繁重工作。
如果您需要手動(dòng)存儲(chǔ)和轉(zhuǎn)換指針類型,您可以使用unsafe 包。

查看完整回答
反對(duì) 回復(fù) 2022-04-20
?
冉冉說(shuō)

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

這可能對(duì)所有指針類型僅使用一種類型嗎?

是的,這幾乎就是 C 的工作方式。不幸的是,這使語(yǔ)言變得危險(xiǎn)。假設(shè)您有一個(gè) 10 字節(jié)的數(shù)組。如果您只是傳遞指針,其他代碼將不知道可以安全訪問多少字節(jié)。這會(huì)導(dǎo)致各種緩沖區(qū)溢出錯(cuò)誤。(即心臟出血)

在 Go 中,它們的指針知道它所指向的事物的類型,因此它可以防止您的代碼一直出現(xiàn)緩沖區(qū)溢出問題。

你可以做你想做的事,但只能使用 Unsafe 包。顧名思義,這是一件非常危險(xiǎn)的事情。

也許如果你發(fā)布你真正想做的事情,人們可以幫助你。使用不安全指針并不是編寫高性能代碼的唯一方法。


查看完整回答
反對(duì) 回復(fù) 2022-04-20
  • 2 回答
  • 0 關(guān)注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)