Comment créer un littéral *int64 en Go ? Initialisation directe d'un pointeur vers un nombre
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème avec les pointeurs. Je dois passer un pointeur vers int64 à une fonction, mais je ne veux pas créer de variable séparée. Par exemple, j'ai une fonction :
```go
func SetValue(val *int64) {
*val = 42
}
```
Je veux l'appeler ainsi :
```go
SetValue(&123) // Erreur : cannot take address of 123
```
Mais le compilateur génère une erreur car on ne peut pas prendre l'adresse d'un littéral. J'ai essayé :
```go
SetValue(&int64(123)) // Erreur aussi
```
Et même :
```go
SetValue(&(int64(123))) // Ne fonctionne pas
```
Comment créer correctement un littéral *int64 à la volée ? Je dois passer un pointeur vers le nombre 123 sans déclarer de variable séparée. Dans d'autres langages, comme en C, cela se fait simplement : &(int){123}. Existe-t-il un équivalent en Go ? Ou seulement via une variable auxiliaire ? Merci d'avance pour votre aide !
<<>>
Problème : Pourquoi ne peut-on pas prendre l'adresse d'un littéral ?
En Go, vous ne pouvez pas prendre l'adresse d'un littéral (par exemple,