Avatar ·

如何在Go中创建*int64字面量?直接初始化数字指针

大家好!我刚开始学习Go,在处理指针时遇到了问题。我需要向函数传递一个指向int64的指针,但我不想创建单独的变量。例如,我有一个函数: ```go func SetValue(val *int64) { *val = 42 } ``` 我想这样调用它: ```go SetValue(&123) // 错误:无法获取123的地址 ``` 但编译器报错,因为不能获取字面量的地址。我尝试了: ```go SetValue(&int64(123)) // 同样错误 ``` 甚至: ```go SetValue(&(int64(123))) // 不工作 ``` 如何正确创建临时的*int64字面量?我需要传递指向数字123的指针,而不声明单独的变量。在其他语言中,例如C,可以这样简单实现:&(int){123}。Go中有等效的方法吗?还是只能通过辅助变量?提前感谢帮助! <<>>

问题:为什么不能获取字面量的地址?

在Go中,你不能获取字面量(例如,