英文:
Type conversion from (type *int) to type int
问题
我想要将一个指针 *int
转换为它的实际值 int
,在 Go 语言中。
你如何做到这一点?
英文:
I want to convert a pointer *int
to its real value int
, in Go language.
How do you do it?
答案1
得分: 4
只需使用*
运算符。例如:
var i int = 10 // `i`是一个整数,值为10
var p *int = &i // `p`是一个指向整数的指针,其值是一个内存地址
var n int = *p // `n`又是一个整数,值为10
一旦你理解了发生的事情,上面的代码可以以更符合惯用法(更简单)的方式编写,假设我们在一个函数内部:
i := 10
p := &i
n := *p
英文:
Just use the *
operator. For example:
var i int = 10 // `i` is an integer, with value 10
var p *int = &i // `p` is a pointer to an integer, its value is a memory address
var n int = *p // `n` is again an integer, with value 10
Once you get the hang of what's happening, the above code can be written in a more idiomatic (and simpler) way like this, assuming that we're inside a function:
i := 10
p := &i
n := *p
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论