¿Cómo crear un literal *int64 en Go? Inicialización directa de un puntero a número
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un problema al trabajar con punteros. Necesito pasar un puntero a int64 a una función, pero no quiero crear una variable separada. Por ejemplo, tengo una función:
```go
func SetValue(val *int64) {
*val = 42
}
```
Quiero llamarla así:
```go
SetValue(&123) // Error: cannot take address of 123
```
Pero el compilador da un error, porque no se puede tomar la dirección de un literal. Intenté:
```go
SetValue(&int64(123)) // También error
```
E incluso:
```go
SetValue(&(int64(123))) // No funciona
```
¿Cómo crear correctamente un literal *int64 sobre la marcha? Necesito pasar un puntero al número 123 sin declarar una variable separada. En otros lenguajes, como C, esto se hace simplemente: &(int){123}. ¿Hay un equivalente en Go? ¿O solo a través de una variable auxiliar? ¡Gracias de antemano por la ayuda!
<<>>
Problema: ¿Por qué no se puede tomar la dirección de un literal?
En Go no puedes tomar la dirección de un literal (por ejemplo,