Como criar um literal *int64 em Go? Inicialização direta de ponteiro para número
Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com ponteiros. Preciso passar um ponteiro para int64 para uma função, mas não quero criar uma variável separada. Por exemplo, tenho a função:
```go
func SetValue(val *int64) {
*val = 42
}
```
Quero chamá-la assim:
```go
SetValue(&123) // Erro: cannot take address of 123
```
Mas o compilador gera um erro, porque não é possível obter o endereço de um literal. Tentei:
```go
SetValue(&int64(123)) // Também erro
```
E até:
```go
SetValue(&(int64(123))) // Não funciona
```
Como criar corretamente um literal *int64 em tempo real? Preciso passar um ponteiro para o número 123 sem declarar uma variável separada. Em outras linguagens, como C, isso é feito simplesmente: &(int){123}. Existe um equivalente em Go? Ou apenas através de uma variável auxiliar? Agradeço desde já pela ajuda!
<<>>
Problema: Por que não é possível obter o endereço de um literal?
Em Go, você não pode obter o endereço de um literal (por exemplo,