Ответ 1
strconv.Itoa()
ожидает значение типа int
, поэтому вы должны дать ему следующее:
log.Println("The amount is: " + strconv.Itoa(int(charge.Amount)))
Но знайте, что это может потерять точность, если int
является 32-битным (в то время как uint64
равно 64), также знака отличается. strconv.FormatUint()
было бы лучше, так как ожидается значение типа uint64
:
log.Println("The amount is: " + strconv.FormatUint(charge.Amount, 10))
Дополнительные параметры см. в этом ответе: Golang: форматировать строку без печати?
Если ваша цель - просто распечатать значение, вам не нужно преобразовывать его, ни в int
, ни в string
, используйте один из следующих:
log.Println("The amount is:", charge.Amount)
log.Printf("The amount is: %d\n", charge.Amount)