¿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,
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Programación asíncrona en Go: guía completa para principiantes
Caché en PHP: Redis, Memcached y soluciones integradas: de la A a la Z
Property no initializer en TypeScript: cómo solucionarlo en 5 minutos
Refactorización de código legacy en Java: guía paso a paso de la A a la Z