Пишем простой калькулятор на Golang. Подробная инструкция.
В этой статье мы создадим простой калькулятор на языке программирования Go (Golang). Мы пройдемся по основам языка, рассмотрим базовые операции и научимся работать с пользовательским вводом и выводом.
👣 Golang – лучший обучающий канал-гайд в телеграме !
Что такое Go?
Go (Golang) — это статически типизированный язык программирования, разработанный компанией Google. Он сочетает в себе простоту синтаксиса и высокую производительность, что делает его отличным выбором для написания как системных приложений, так и сервисов.
Структура программы на Go
Программа на Go состоит из пакетов (packages). Основной пакет программы всегда называется main
, и именно в нем содержится функция main
, с которой начинается выполнение программы.
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, World!")
}
План калькулятора
Мы реализуем калькулятор, который сможет выполнять четыре основные арифметические операции: сложение, вычитание, умножение и деление. Программа будет принимать два числа и оператор от пользователя, а затем выводить результат вычисления.
Основные операции калькулятора
Начнем с написания функций для каждой арифметической операции. Эти функции будут принимать два аргумента типа float64
и возвращать результат вычисления того же типа.
Функция сложения
func add(a, b float64) float64 {
return a + b
}
Функция вычитания
func subtract(a, b float64) float64 {
return a - b
}
Функция умножения
func multiply(a, b float64) float64 {
return a * b
}
Функция деления
func divide(a, b float64) float64 {
if b == 0 {
fmt.Println("Ошибка: деление на ноль!")
return 0
}
return a / b
}
Ввод данных от пользователя
Для того чтобы получить ввод от пользователя, мы будем использовать пакет fmt
. Давайте напишем функцию, которая будет считывать числа и оператор от пользователя.
func getInput() (float64, float64, string) {
var a, b float64
var operator string
fmt.Print("Введите первое число: ")
fmt.Scanln(&a)
fmt.Print("Введите второе число: ")
fmt.Scanln(&b)
fmt.Print("Введите оператор (+, -, *, /): ")
fmt.Scanln(&operator)
return a, b, operator
}
Основная функция калькулятора
Теперь, когда у нас есть функции для арифметических операций и ввода данных, мы можем собрать все вместе в основной функции программы.
func main() {
a, b, operator := getInput()
var result float64
switch operator {
case "+":
result = add(a, b)
case "-":
result = subtract(a, b)
case "*":
result = multiply(a, b)
case "/":
result = divide(a, b)
default:
fmt.Println("Неизвестный оператор")
return
}
fmt.Printf("Результат: %.2f\n", result)
}
Полный код программы
Объединив все части, мы получим следующий код:
package main
import (
"fmt"
)
func add(a, b float64) float64 {
return a + b
}
func subtract(a, b float64) float64 {
return a - b
}
func multiply(a, b float64) float64 {
return a * b
}
func divide(a, b float64) float64 {
if b == 0 {
fmt.Println("Ошибка: деление на ноль!")
return 0
}
return a / b
}
func getInput() (float64, float64, string) {
var a, b float64
var operator string
fmt.Print("Введите первое число: ")
fmt.Scanln(&a)
fmt.Print("Введите второе число: ")
fmt.Scanln(&b)
fmt.Print("Введите оператор (+, -, *, /): ")
fmt.Scanln(&operator)
return a, b, operator
}
func main() {
a, b, operator := getInput()
var result float64
switch operator {
case "+":
result = add(a, b)
case "-":
result = subtract(a, b)
case "*":
result = multiply(a, b)
case "/":
result = divide(a, b)
default:
fmt.Println("Неизвестный оператор")
return
}
fmt.Printf("Результат: %.2f\n", result)
}
Объяснение работы программы
- Импорт пакетов: Мы импортируем пакет
fmt
, который используется для ввода/вывода данных. - Арифметические функции: Эти функции выполняют простые математические операции и возвращают результат.
- Функция ввода данных: Считывает два числа и оператор от пользователя.
- Основная функция: В зависимости от введенного оператора выполняется соответствующая арифметическая операция, а результат выводится на экран.
Запуск программы
Чтобы запустить программу, нужно сохранить код в файл с расширением .go
(например, calculator.go
) и выполнить команду:
go run calculator.go
Заключение
Мы написали простой калькулятор на Go, который может выполнять базовые арифметические операции. Этот пример демонстрирует основные возможности Go, такие как работа с функциями, пользовательским вводом и операторами управления.