Как работать с деньгами в Go?

Middle
195 просмотров
AFK Offer AI

Главное правило — никогда не использовать float для денег. Два подхода: хранить в минимальных единицах (копейки) как int64, или использовать библиотеку decimal (shopspring/decimal). Int64 проще и быстрее, decimal удобнее для сложных вычислений с округлением. В базе — numeric/decimal тип, в API — строки или integer копейки.

Следующий вопрос

Найди баг: ch := make(chan int); ch <- 1; fmt.Println(<-ch)