簡體   English   中英

在 Golang 中將類型 uintptr 分配給 uint64

[英]Assigning a type uintptr to uint64 in Golang

我試圖將在uintptr類型的變量中找到的值分配給 Go 中的uint64變量。 使用

myVar = valFromSystem

給我

不能在賦值中使用valFromSystem (類型uintptr )作為類型uint64

並嘗試

myVar = *valFromSystem

給我

valFromSystem 的無效間接(類型 uintptr)

有沒有辦法拉取 valFromSystem 指向的值以分配給myVar

首先,將valFromSystem轉換為unsafe.Pointer unsafe.Pointer可以轉換為任何指針類型。 接着,施放unsafe.Pointer成指針到任何類型的數據valFromSystem來分,例如一個uint64

ptrFromSystem = (*uint64)(unsafe.Pointer(valFromSystem))

如果只想獲取指針的值(不取消引用),可以使用直接轉換:

uint64FromSystem = uint64(valFromSystem)

但請記住,當將指針用作整數時,您應該使用uintptr類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM