如何在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中,你不能获取字面量(例如,