reflect lab golang example string go type-conversion strconv

lab - int64 to string golang



Convertir uint64 a cadena en golang (4)

Si quieres convertir int64 a string , puedes usar:

strconv.FormatInt(time.Now().Unix(), 10)

o

strconv.FormatUint

Estoy intentando imprimir una string con un uint64 pero no uint64 ninguna combinación de métodos strconv que uso.

log.Println("The amount is: " + strconv.Itoa((charge.Amount)))

Me da:

cannot use charge.Amount (type uint64) as type int in argument to strconv.Itoa

¿Cómo puedo imprimir esta string ?


Si realmente quieres mantenerlo en una cadena, puedes usar una de las funciones de Sprint. Por ejemplo:

myString := fmt.Sprintf("%v", charge.Amount)


log.Printf

log.Printf("The amount is: %d/n", charge.Amount)


strconv.Itoa() espera un valor de tipo int , por lo que debe asignarle eso:

log.Println("The amount is: " + strconv.Itoa(int(charge.Amount)))

Pero sepa que esto puede perder precisión si int es de 32 bits (mientras que uint64 es 64), también la significación es diferente. strconv.FormatUint() sería mejor ya que espera un valor de tipo uint64 :

log.Println("The amount is: " + strconv.FormatUint(charge.Amount, 10))

Para obtener más opciones, vea esta respuesta: Golang: ¿formatear una cadena sin imprimir?

Si su propósito es simplemente imprimir el valor, no necesita convertirlo, ni a int ni a string , use uno de estos:

log.Println("The amount is:", charge.Amount) log.Printf("The amount is: %d/n", charge.Amount)