Логарифмы используются в научных приложениях, а также при визуализации данных и измерениях. Встроенный пакет math
содержит популярные основания логарифмов. С их помощью можно будет получить все нужные основания.
Как использовать логарифмы в Golang?
1. Создайте файл log.go
со следующим содержимым:
Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎
Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
package main import ( "fmt" "math" ) func main() { ln := math.Log(math.E) fmt.Printf("Ln(E) = %.4f\n", ln) log10 := math.Log10(-100) fmt.Printf("Log10(10) = %.4f\n", log10) log2 := math.Log2(2) fmt.Printf("Log2(2) = %.4f\n", log2) log_3_6 := Log(3, 6) fmt.Printf("Log3(6) = %.4f\n", log_3_6) } // Log вычисляет логарифм с // основанием > 1 и x более 0 func Log(base, x float64) float64 { return math.Log(x) / math.Log(base) } |
2. Запустите код через go run log.go
;
3. Посмотрите на результат в терминале:
1 2 3 4 |
Ln(E) = 1.0000 Log10(10) = NaN Log2(2) = 1.0000 Log3(6) = 1.6309 |
Как написать программу с логарифмами в Go?
Стандартный пакет math
содержит функции для всех часто используемых логарифмов, вы можете легко получить двоичные, десятичные и натуральные логарифмы. Функция Log
подсчитывает любой логарифм y
с основанием x
через определенную вспомогательную формулу:
Внутренняя имплементация натурального логарифма в стандартной библиотеке основывается на приближении. Данную функцию можно увидеть в файле $GOROOT/src/math/log.go
Администрирую данный сайт с целью распространения как можно большего объема обучающего материала для языка программирования Go. В IT с 2008 года, с тех пор изучаю и применяю интересующие меня технологии. Проявляю огромный интерес к машинному обучению и анализу данных.
E-mail: vasile.buldumac@ati.utm.md
Образование
Технический Университет Молдовы (utm.md), Факультет Вычислительной Техники, Информатики и Микроэлектроники
- 2014 — 2018 Universitatea Tehnică a Moldovei, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
- 2018 — 2020 Universitatea Tehnică a Moldovei, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»