pointers - Assigning a type uintptr to uint64 in GoLang -


i'm trying assign value found in variable of type uintptr uint64 variable in go. using

myvar = valfromsystem 

gives me

cannot use valfromsystem (type uintptr) type uint64 in assignment

and trying

myvar = *valfromsystem 

gives me

invalid indirect of valfromsystem (type uintptr)

is there way pull value pointed valfromsystem assign myvar?

first, cast valfromsystem unsafe.pointer. unsafe.pointer can casted pointer type. next, cast unsafe.pointer pointer whatever type of data valfromsystem points to, e.g. uint64.

ptrfromsystem = (*uint64)(unsafe.pointer(valfromsystem)) 

if want value of pointer (without dereferencing it), can use direct cast:

uint64fromsystem = uint64(valfromsystem) 

though remember should use type uintptr when using pointers integers.


Comments

Popular posts from this blog

c++ - How to add Crypto++ library to Qt project -

jQuery Mobile app not scrolling in Firefox -

How to use vim as editor in Matlab GUI -