Как создать маленькую программу

Пару месяцев назад я начал писать на Go так же известным, как Golang. И не только из-за их потрясающего логотипа. Основная причина была в том, что я хотел, чистую железяку на моем Raspberry Pi, а так же кроссплатформенность в паре с легкостью установки. Среди других причин были простота создания на Go асинхронного кода с помощью Go методов и уникальный подход к синхронизации каналов между подпрограммами (потоками) посредствам go routines.

С тех пор, как GO был выпущен в 2012 году, я много читал о нем и что ж, пришло время по-настоящему замарать руки и попробовать использовать его для своих задач.

Однако любопытно, продолжим .

Что же из себя представляет GO?

Go — это опен сорсный язык программирования , который позволяет легко создавать простое, надежное и эффективное программное обеспечение. Разрабатывался он внутри компании Google и на 2018 год уже являлся одним из самых быстроразвивающихся и адаптированных языков программирования. Первый релиз языка появился в марте 2012 года. А не так давно, начиная с выпуска Go 1.11, у него появилась поддержка модулей и управлять зависимостями стало немного удобнее.

Как создать программу Portable

Необходимые настройки среды

Для начала нужно все правильно настроить. Есть простой способ установить мою библиотеку с помощью Chocolatey.

В Windows мы используем Chocolatey в Powershell для установки Go и vscode…

Windows Powershell as administrator cinst -y go vscode

С установленным Go и vscode у нас есть все, что нужно для начала.

Так как я использую Git bash на все случаи жизни, я запускаю следующую команду Visual Studio Code из Git Bash, чтобы установить go расширение. Если хотите, вы можете просто установить расширение из самого vscode.

Windows Git Bash code —install-extension ms-vscode.go

Вот мы и поставили Go расширение в visualstudio, так что теперь у нас есть все для приятного кодинга.

Где найти отличные ресурсы и материалы по GO?

Документацию по Go можно найти здесь. Все пакеты, доступные для использования, можно найти здесь.Кроме того, для того, чтобы заюзать Go или помочь другим программистам с примерами у языка есть онлайн-площадка.

Создаем первый проект

Для того, чтобы начать на Go новый проект, мы сначала создаем пустую папку. Затем мы прописываем в этой папке команду go modules init, чтобы инициализировать модули Go. Модули используются для зависимостей.

mkdir hello-world cd hello-world go mod init github.com/marcofranssen/hello-world

Синтаксис

В Go мы определяем функцию, используя ключевое слово func.

func main() < // our code >

То, что других языках обычно бывает классом, в Go является структурой struct. Вы можете определить структуру следующим образом.

type Envelope struct

Все переменные, функции, структуры, которые начинаются с верхнего регистра в Go являются публичными. А все переменные, функции, структуры, начинающиеся со строчной буквы, являются частными. Кроме того, как вы наверное уже заметили в примере, определения типов идут за именем переменной. Поместив оператор импорта поверх файла вы можете импортировать все необходимые пакеты. И последнее, но не менее важное: каждая программа go должна иметь хотя бы один main пакет.

Читайте также:
Производство телевизионных программ это

Быстрое создание Portable версий программ | PC-Lessons.ru


package main import «fmt» func SayHi(person string) string < //public function return fmt.Sprintf(«Hi %s», person) >func sayHi(person string) string < //private function return fmt.Sprintf(«Hi %s», person) >

Этот пакет fmt предоставляет нам несколько полезных функций, например строки шаблонов, которые удобно использовать для построения строки с использованием некоторых переменных.. Более того, в примере мы видим, что возвращаемый тип для функции упоминается в конце ее определения. Более подробно читайте о пакете fmt в документации.

Вперед, в бой!

Теперь у нас есть пустой проект, и к тому же мы уже немного знаем о синтаксисе, чтож, начнем! Открываем эту папку в vscode.

code .

Сначала мы добавляем новый файл в нашу папку, называем ее main.go . Затем добавим тот код, который мы рассмотрели выше.

package main import «fmt» func main() < fmt.Println(sayHi(«Marco»)) >func sayHi(person string) string

Теперь с помощью этого кода мы можем запустить наше приложение. Используя следующую команду в командной строке.

go run main.go

Можете также прогнать этот код в Go playground.

Тестирование

Чтобы добавить тесты в go, просто добавьте файл main_test.go. Добавим функцию проверяющую метод sayHi. Сигнатура методов тестирования всегда ДОЛЖНА быть TestXxx(t *testing.T). Первый X всегда должен быть в верхнем регистре.

package main import «testing» func TestSayHi(t *testing.T) < expected := «Hi Marco» greeting := sayHi(«Marco») if greeting != expected < t.Errorf(«Greeting was incorrect, got: ‘%s’, want: ‘%s'», greeting, expected) >>

Вы наверняка заметили что то новое в этом коде. Мы используем сокращение для присвоения значений переменной: =. Если функция sayHi не возвращает ожидаемое нами значение, мы выдадим ошибку с хорошим понятным сообщением.

Теперь, чтобы запустить наш тест, мы сделаем в командной строке следующее. Обратите внимание, что я запускаю все тесты из всех файлов и подпапок в моем проекте таким способом ./.

go test ./.

Пожалуйста, не бойтесь пробовать, изменяйте реализацию, и снова запустите тест, чтобы увидеть, как тесты пройдут неудачно. Для запуска с code coverage запустите такие тесты.

go test -coverage -coverprofile=coverage.out ./. go tool cover -html=coverage.out -o coverage.html

Чтобы подробнее ознакомится, пожалуйста, читайте документацию о testing package.

Компилируем и выполняем

Самым простым способом создать исполняемый файл будет:

go build . ./hello-world.exe

Это команда создаст нам исполняемый файл Windows, как будто мы на Windows. Вы можете просто вызвать исполняемый файл и увидеть тот же результат, что мы имели при вызове go run main.go. Если мы хотим получить более подробный вывод и посмотреть, что происходит за под капотом, можно использовать -x опцию -в go build. А как нам скомпилировать один и тот же код для Linux или Raspberry Pi?

GOOS=linux GOARCH=amd64 go build .

Чтобы запустить этот бинарник в Linux, не забудьте использовать chmod +x, а затем просто вызвать с помощью ./hello-world

Читайте также:
Что блокирует установку программ

Raspberry Pi 3 имеет архитектуру ARM v7, которую можно скомпилировать следующим образом. ПРИМЕЧАНИЕ: все это мы можем сделать с Windows.

GOOD=linux GOARCH=arm GOARM=7 go build .

Для запуска бинарника сделайте все то же самое, что и на любом другом компьютере с Linux chmod +x, а затем ./hello-world для запуска вашего приложения.

Резюмируя

Я знаю, что это очень простое приложение и оно не несет практической пользы, но, по крайней мере, вы уже, как минимум, настроили свою среду разработки и приобрели небольшой практический опыт в написании первых строк кода на Go. Вы уже также знаете, как писать тесты. Это будет хорошей основой для написания качественного кода. Более интересные вещи, такие как go routines, я хотел бы оставить для нового поста в блоге.

И последнее, но не менее важное: я хотел бы поделиться с вами своим первым приложением на Go. Это интеграция с термостатом Nest, который я запускаю на своем Raspberry Pi, чтобы собрать данные о температуре и отобразить их в хорошем веб-приложении на React. Только не забудьте зарегистрироваться в рабочем пространстве Gophers Slack.

Источник: dev-gang.ru

Создание графического калькулятора

В статье «Делаем консольный калькулятор.» мы создавали небольшой калькулятор, который работает в консоли. В этой статье пришло время научиться создавать графический калькулятор на языке C# с помощью Windows Forms. Сам по себе калькулятор довольно прост, но если вы совсем новичок в создании подобных приложений, тогда будет посложнее. Разработку калькулятора начнем с разработки формы (Windows Forms) приложения. Запускаем Visual Studio и создаем проект:
Создание графического калькулятора
Интерфейс созданного проекта должен выглядеть так:
Создание графического калькулятора
На интерфейсе мы видим: слева панель элементов для нашей формы, справа обозреватель решений и свойства выбранной формы/элемента и по середине виден сам конструктор с формой (по умолчанию он имеет имя «Form1»). На форму нужно поместить кнопки, текстовое поле, а также надпись. Надпись нужна, чтобы пользователь видел первый операнд.

Когда введет нужную цифру, нажмет кнопку, например «+», надпись будет содержать введенное значение. Все нужные элементы можно найти слева в панели элементов. Чтобы найти текстовое поле просто введите в поиске «textBox» и с помощью мышки перенесите его на свою форму. Для добавления кнопок просто введите в поиске «Button» и перенесите нужное количество кнопок на свою форму. Также добавьте на «ListBox» один пустой «Label»:
Создание графического калькулятора
Изменять свойства формы можно с помощью окна «Свойства» справа внизу. Для этого нажмите на нужную форму, например «Button1» и поменяйте ему свойство «text» на «С»:
Создание графического калькулятора


Добавьте все нужные кнопки. Измените свойство «Font» для элементов TextBox и Label. Цвет кнопок и имя программы меняйте на свое усмотрение.
Создание графического калькулятора
С помощью «MultiLine» измените ширину элемента TextBox:
Создание графического калькулятора
В итоге у нас получилось 19 кнопок Button, 1 TextBox и ещё 1 пустой Label:
Создание графического калькулятора
Теперь посмотрим, как работает калькулятор. Мы используем четыре члена класса. Напишем их в самое начало программы:

float a, b; int oper; bool znak = true;

Первые два — это наши операнды, a и b. Третий — это выбранный пользователем оператор. Четвертый — признак знака. Запрограммируем обработчик кнопки «+/-«, изменяющий знак числа. Для этого в форме нажмите на нужную кнопку два раза. Visual Studio переведет вас в нужную секцию кода:

Читайте также:
Почему нет абзалова в программе 60 минут

private void button3_Click(object sender, EventArgs e)
В фигурных скобках пишем код:
if (znak == true) < textBox1.Text = «-» + textBox1.Text; znak = false; >else if (znak==false)

Если znak=true, мы меняем знак операнда в textBox1, а если false, то знак числа удаляется из текстового поля. Для каждой цифровой кнопки обработчик будет следующий:

// Обработчик цифровой кнопки «0» textBox1.Text = textBox1.Text + 0;

На основе этого кода повесьте на цифровые кнопки от 0 до 9 обработчик событий. Нажмите на нужную цифровую кнопку и впишите код. Обработчик кнопки операторов «+, -, *, /». Нажмите на нужную кнопку с оператором и впишите код.

// Обработчик оператора «+» a = float.Parse(textBox1.Text); textBox1.Clear(); oper = 1; label1.Text = a.ToString() + «+»; znak = true;

В данном коде мы в переменную «a» записываем значение из текстового поля, попутно преобразовав его в float посредством вызова метода float.Parse(). Далее мы очищаем текстовое поле, чтобы можно было вводить второй операнд. oper = 1 означает присвоение номера оператора (для + — это 1 и так далее по увеличению). Далее заносим в надпись информацию об операнде и операторе. Обработчик кнопки «,» добавляет запятую в текстовое поле:

textBox1.Text = textBox1.Text + «,»;

Далее нам понадобится создать функцию, которая будет применять нужные нам математические операции к числам. Назовём её calculate. Но перед этим мы кликнем дважды на кнопку «=» на форме и в коде к ней мы запишем:

// вызов функции calculate(); label1.Text = «»;

При нажатии пользователем на кнопку «=» выполнится функция подсчёта calculate, и, заодно, очистится Label, так как результат мы в будущем коде выведем в TextBox. Функция calculate:

private void calculate() < switch (oper) < case 1: b = a + float.Parse(textBox1.Text); textBox1.Text = b.ToString(); break; case 2: b = a — float.Parse(textBox1.Text); textBox1.Text = b.ToString(); break; case 3: b = a * float.Parse(textBox1.Text); textBox1.Text = b.ToString(); break; case 4: if (float.Parse(textBox1.Text) == 0) < textBox1.Text = «Делить на 0 нельзя!»; >else < b = a / float.Parse(textBox1.Text); textBox1.Text = b.ToString(); >break; default: break; > >

Здесь мы используем конструкцию switch-case. Нам осталось обработать две кнопки: Обработчик кнопки «С». Данная кнопка будет очищать все записи из TextBox’a и Label’a. Код кнопки:

textBox1.Text = «»; label1.Text = «»;

Создание графического калькулятора

Кнопка «

Источник: it-black.ru

Как создать игру на Python – простой пример с кодом для начинающих

Python – самый универсальный язык, и он присутствует почти во всех областях, включая веб-разработку, машинное обучение, искусственный интеллект, приложения с графическим интерфейсом, а также разработку игр.

Python предоставляет встроенную библиотеку под названием pygame, которая использовалась для разработки игр. Как только мы поймем базовые концепции языка программирования, мы сможем разработать игру на Python с библиотекой Pygame с привлекательной графикой, подходящей анимацией и звуком.

Pygame – это кроссплатформенная библиотека, которая используется для разработки видеоигр. Она включает компьютерную графику и звуковые библиотеки. Она разработана Питом Шиннерсом для замены PySDL.

Установка Pygame

Откройте терминал командной строки и введите следующую команду, чтобы установить pygame.

pip install pygame

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru