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

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

如何將類型 uintptr 轉(zhuǎn)換為 *string?

如何將類型 uintptr 轉(zhuǎn)換為 *string?

Go
繁星coding 2023-03-15 13:48:51
uintptr我正在嘗試進(jìn)行從到 的轉(zhuǎn)換, *string但到目前為止似乎還沒有奏效。我將值作為 uintptr 獲取,需要將其作為 *string 傳遞。我正在工作的值代表文件目錄中的地址到目前為止,這是我嘗試過的:如果 x 是 uintptr 并且 y 是 *stringy = string(x)不能在賦值中使用 string(x)(字符串類型的值)作為 *string 類型y = *string(x)不能間接 string(x)(字符串類型的值)*y = string(x)從 uintptr 到字符串的轉(zhuǎn)換產(chǎn)生一串一個(gè)符文,而不是一串?dāng)?shù)字(你是說 fmt.Sprint(x) 嗎?)
查看完整描述

1 回答

?
LEATH

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

您必須使用unsafe.Pointer將 a 轉(zhuǎn)換uintptr為 Go 指針值。


示例:


import (

    "fmt"

    "unsafe"

)


func main() {

    var s *string

    var p uintptr = 1


    s = (*string)(unsafe.Pointer(p))

    fmt.Println(s)

}

輸出:

0x1

unsafe閱讀和的文檔unsafe.Pointer以確保正確使用。

指針表示指向任意類型的指針。有四種特殊操作可用于 Pointer 類型,而其他類型則不可用:

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

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

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

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

因此,指針允許程序擊敗類型系統(tǒng)并讀寫任意內(nèi)存。使用時(shí)應(yīng)格外小心。

以下涉及指針的模式是有效的。不使用這些模式的代碼很可能在今天無效或在將來變得無效。即使是下面的有效模式也有重要的警告。

[ ... ]


查看完整回答
反對(duì) 回復(fù) 2023-03-15
  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報(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)