Написать консольное приложение "Строковый калькулятор" на Golang
Создать консольное приложение "Строковый калькулятор". Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции, проводимые между ними, и выводить в консоль результат их выполнения. Калькулятор должен быть написан только с использованием встроенных библиотек golang.
Требования:Калькулятор умеет выполнять операции сложения строк, вычитания строки из строки, умножения строки на число и деления строки на число: "a" + "b", "a" - "b", "a" * b, "a" / b. Данные передаются в одну строку (смотри пример ниже). Решения, в которых каждая строка, число и арифметическая операция передаются с новой строки, считаются неверными. Значения строк, передаваемых в выражении, выделяются двойными кавычками. Результатом сложения двух строк является строка, состоящая из переданных. Результатом деления строки на число n является строка в n раз короче исходной (смотри пример). Результатом умножения строки на число n является строка, в которой переданная строка повторяется ровно n раз. Результатом вычитания строки из строки является строка, в которой удалена переданная подстрока или сама исходная строка, если в неё нет вхождения вычитаемой строки (смотри пример). Калькулятор должен принимать на вход числа от 1 до 10 включительно, не более, и строки длиной не более 10 символов. Если строка, полученная в результате работы приложения, длиннее 40 символов, то в выводе после 40 символа должны стоять три точки (...). Калькулятор умеет работать только с целыми числами. Первым аргументом выражения, подаваемым на вход, должна быть строка. При вводе пользователем выражения вроде 3 + "hello", калькулятор должен выдать панику и прекратить свою работу. При вводе пользователем неподходящих чисел, строк или неподдерживаемых операций (например, деление строки на строку) приложение выдаёт панику и завершает свою работу. При вводе пользователем выражения, не соответствующего одной из вышеописанных арифметических операций, приложение выдаёт панику и завершает свою работу.Input:
"100" + "500"
Output:
"100500"
Input:
"Hi World!" - "World!"
Output:
"Hi "
Input:
"Bye-bye!" - "World!"
Output:
"Bye-bye!"
Input:
"Golang" * 5
Output:
"GolangGolangGolangGolangGolang"
Input:
"Example!!!" / 3
Output:
"Exa"
Принципы оценки работы Решение можно выполнить в одном пакете main. Будет большим плюсом разбитие программы на пакеты. Так же большим плюсом будет применение go-модулей.
Новости России
Москва
Bel Suono представят в Зеленом театре ВДНХ специальную программу «Три рояля под открытым небом»
Читайте также:
Вчера 21:37
Вчера 22:14
02:21
00:57
Moscow.media
Частные объявления сегодня
Филиал № 4 ОСФР по Москве и Московской области информирует:
Родители 308,9 тысячи детей в Московской области получают единое пособие
Филиал № 4 ОСФР по Москве и Московской области информирует:
Соцфонд выдал проактивно 3,2 млн сертификатов на материнский капитал
"СВЯТОЙ ЛЕНИН: сенсация о прогнозах направит Америку и Европу творить добро?!
Семинар библиотекарей Ленинского округа прошел в Центральной библиотеке
Захарова: армянам - нота, апшеронцам – «да»
Куда россияне теперь ездят на отдых: составлен реальный список стран и российских регионов, пользующихся спросом
Армянские ковры Арцаха (Карабаха) с уникальным орнаментом представлены как «генетический код» Азербайджана - сайт monumentwatch
Адские цены на Сочи и Анапу заставили российских туристов найти новые пути экономии
Max free trial returns just in time for House of the Dragon season 2 this week
America’s Space Infrastructure: So Vulnerable It Destabilizes Geopolitics
Panthers take Game 1 of Stanley Cup Final as Sergei Bobrovsky shuts out Oilers
What If You Spent 5 Seconds in the Mariana Trench
Каршеринг BelkaCar запустил летний спецпроект «Умные путешествия»
Филиал № 4 ОСФР по Москве и Московской области информирует:
Соцфонд выдал проактивно 3,2 млн сертификатов на материнский капитал
Торговые настольные электронные весы CAS PR-15P
Life is Strange: Double Exposure продолжит историю Макс Колфилд
Состоялся релиз The Case of the Golden Idol на iOS и Android
В новом трейлере Indiana Jones and the Great Circle Индиана спускается на корабле с горы
Take a mystery lover's holiday by solving crime on the Italian Riviera in On Your Tail
Досвідчені садівники обирають великі технічні горщики для своїх рослин і квітів
Инго Экосистема стала победителем национальной премии FinTech Awards Russia
Захарова: армянам - нота, апшеронцам – «да»
Торжественная церемония закрытия VII Международного Фестиваля театральных школ стран БРИКС+ на ВДНХ
Bel Suono представят в Зеленом театре ВДНХ специальную программу «Три рояля под открытым небом»
Европейская Россия под ударом стихии: циклон принесет ливни, грозы и смерчи
Филиал № 4 ОСФР по Москве и Московской области информирует:
Родители 308,9 тысячи детей в Московской области получают единое пособие
Грузия готова восстановить отношения с Россией: Источник раскрыл подробности
«Мтавари»: Грузия решила восстановить дипломатические отношения с Россией
Захарова пригрозила Западу выдворением иностранных корреспондентов в случае притеснений российских журналистов
Как же можно не любить Россию?
Собянин наградил выдающихся москвичей за профессиональные достижения
Вышита страна моя родная. Где в столице хранится уникальная тканевая карта?
Итальянский теннисист Синнер стал лучшей ракеткой мира в рейтинге ATP
Испанец Алькарас выиграл Открытый чемпионат Франции по теннису
Сафиуллин не смог пробиться во второй круг турнира ATP в Штутгарте
«Мирра Андреева обладает удивительной выживаемостью» // Олимпийская чемпионка по теннису Елена Веснина об итогах женского Roland Garros
Трамваи перестали ходить на юге Москвы из-за дерева
«Импровизаторы» возвращаются на сцену: уникальное комедийное шоу без границ!
Грузия готова восстановить отношения с Россией: Источник раскрыл подробности
Захарова пригрозила Западу выдворением иностранных корреспондентов в случае притеснений российских журналистов
Музыкальные новости
В Баку впервые прозвучит «Ленинградская» симфония Дмитрия Шостаковича
Причиной развода Алсу мог стать оружейный бизнес мужа
Дуэт МКС раскрыл тайны съемок телешоу «Песни от всей души» с Андреем Малаховым
Певица Буланова назвала Филиппа Киркорова приемником Аллы Пугачевой в России
Bel Suono представят в Зеленом театре ВДНХ специальную программу «Три рояля под открытым небом»
Финансовый эксперт Светлана Петрова: как совместить бизнес и семью
Торжественная церемония закрытия VII Международного Фестиваля театральных школ стран БРИКС+ на ВДНХ
Инго Экосистема стала победителем национальной премии FinTech Awards Russia
В Ярославле ждут Надежду Бабкину на бесплатные концерты
«Первый Бит» доработал логистические процессы производителя пищевой упаковки «Пище-Поли-Пласт»
«Газпром-Медиа Холдинг» при поддержке ПАО «Газпром» организует мультиформатный фестиваль в честь Дня России
Собянин открыл приемное отделение Морозовской детской городской больницы
В Москве на проспекте Мира на женщину обрушилась облицовка балкона
Каршеринг BelkaCar запустил летний спецпроект «Умные путешествия»
Источник 360.ru: в Москве столкнулись Porsche и Lexus, 5 человек пострадали
Массовое ДТП произошло на Волгоградском проспекте в Москве из-за открытого люка
Путин: Россия будет поддерживать Турцию в стремлении присоединиться к БРИКС
Многоходовка Путина опять сработала. Китай строит дорогу в обход России, но Москве это на руку
Путин призвал главу «Россетей» обратить внимание на энергокольцо Москвы
Парадоксы двойного стандарта
Выявлено более 1,8 тысячи случаев заражения COVID-19 за неделю в Москве
Свыше 1,8 тыс. случаев коронавируса выявили в Москве за неделю
Врачи из региональных медучреждений положительно оценили столичные ИИ-сервисы
Остеопат Животов призвал россиян принимать витамин D вместе с магнием
УНИКАЛЬНЫЕ ПРАВОСЛАВНЫЕ РЕЛИКВИИ ПЕРЕДАНЫ В ГЛАВНЫЙ ВОЕННЫЙ КЛИНИЧЕСКИЙ ГОСПИТАЛЬ РОСГВАРДИИ
6-летняя девочка сломала позвоночник, прыгая на батутах в Москве
Прославленный вратарь Икер Касильяс присоединился к кампании Hisense «Ставшие легендой» в поддержку УЕФА ЕВРО 2024™
Открытый чемпионат по мажореткам «Парад Московии» прошел в Истре
6-летняя девочка сломала позвоночник, прыгая на батутах в Москве
Подмосковные атлеты выиграли 7 медалей на Мемориале братьев Знаменских
Минск подтвердил готовность наращивать сотрудничество с Баку
Рабочий визит в Республику Беларусь совершил воронежский губернатор
Стало известно, о чём беседовал Александр Гусев с президентом Беларуси в Минске
Собянин: С начала года в Москве ввели в эксплуатацию восемь спортивных объектов
Собянин накануне Дня России наградил заслуженных москвичей
Собянин: Общегородской школьный выпускной пройдет в Москве 28 июня
Собянин открыл приемное отделение Морозовской детской городской больницы
Инго Экосистема стала победителем национальной премии FinTech Awards Russia
Жителям Подмосковья рассказали о лесопожарной обстановке в лесах на 11–13 июня
Инго Экосистема стала победителем национальной премии FinTech Awards Russia
В Екатеринбурге появится больше бассейнов
Президент Никарагуа поздравил Путина с Днем России
Захарова пригрозила Западу выдворением иностранных корреспондентов в случае притеснений российских журналистов
Трамваи перестали ходить на юге Москвы из-за дерева
В Королеве зарегистрироваться в качестве ИП и открыть счет в банке можно в МФЦ
XXXIII Церемония награждения Театральной Премии «Хрустальная Турандот» в «Архангельском»
В Архангельске пройдет IV Межрегиональный фестиваль национальных культур «Гармоничная Россия»
Архангельская область испытывает нехватку профессиональных химиков
Мастер и Принцесса: в «Архангельском» вручили «Хрустальную Турандот»
Музыкально-поэтический вечер «Жизнь не кончена, песня не спета»
В районе Симферополя появится крупный жилой микрорайон - ЖК "Республика"
Выставка-галерея «России славной имена»
Полиция ищет пассажира, упавшего на ребенка с верхней полки
Путин: вины России в прекращении действия зерновой сделки нет
Вот так история! Что будет на фестивале «Времена и эпохи» с 12 по 16 июня
Грузия решила восстановить дипломатические отношения с Россией
Захарова пригрозила Западу выдворением иностранных корреспондентов в случае притеснений российских журналистов