Голанг | Основы, часть 1

Сегодня у нас так много замечательных языков, как Python, Node.js, Java, PHP, используемых для создания серверных служб и распределенных систем. Каждый из них имеет свои преимущества и недостатки. Один из них надежен и понятен, другой быстр и масштабируем, но нет другого языка, кроме GO, который бы занял промежуточное положение между всеми четырьмя категориями: Быстрый, Надежный, Продуктивно и Эффективно.

Повестка дня:

  • Введение в Голанг
  • Уникальные возможности Golang
  • Распределение программы Hello World
  • Запуск/выполнение программы
  • Заключение

Введение в Голанг

GO — это быстрый, надежный и компилируемый язык, разработанный Робертом Гриземером, Робом Пайком и Кеном Томпсоном в Google в 2007 году. GO стал проектом с открытым исходным кодом в 2012 году. Он в основном используется для создания высокопроизводительных крупномасштабных распределенных инфраструктур. Первоначально GO разрабатывался для распределенных сетевых сервисов, но теперь он расширяется в сторону разработки Cloud Native, DevOps и т. д.

Эта статья предназначена для всех, кто изучает golang или является экспертом. Я буду использовать подход «сверху вниз» для объяснения глубоких понятий в golang. Я почти уверен, что мы все знаем о функциях golang, но не знали, почему эти функции оказывают такое большое влияние.

Уникальные возможности Golang

Go — один из самых быстрорастущих языков с точки зрения популярности. Go был создан в эпоху, когда мы знали концепции параллелизма и параллелизма, поэтому он был разработан для поддержки параллелизма и других важных функций. Некоторые из особенностей…

  • Статическая типизация (похожа на динамическую типизацию)

GO — это язык со статической типизацией, но он также предоставляет функциональные возможности языков с динамической типизацией. Я знаю, что это может быть сложно, но сначала давайте узнаем разницу между языками со статической и динамической типизацией. Проще говоря, языки со статической типизацией требуют, чтобы вы объявляли типы данных ваших переменных перед их использованием, в то время как языки с динамической типизацией этого не делают.

В приведенном выше примере оба кода пытаются создать переменную и сохранить значение, но в C++ мы также должны указать тип данных int, но в >Тип данных Python выводится на основе значения 2.

В Golang у нас есть оба синтаксиса. Вот почему golang — это золотая середина между языками.

  • Ориентирован на объект (не ориентирован на тип)

Go — объектно-ориентированный язык, но в отличие от других объектно-ориентированных языков, таких как Java или C++, Go не ориентирован на типы. Нет подклассов, потому что классов нет вообще. Вместо этого у нас есть структуры и методы, с помощью которых мы можем добавлять к структуре функции, добавляющие ей поведение. Следовательно, объекты в Go — это просто типы с определенными для них методами.

  • Встроенный параллелизм

Параллелизм — это одновременное выполнение нескольких задач, не влияющее на конечный результат. В Go встроен параллелизм, и это одно из преимуществ Go по сравнению с другими языками. В большинстве популярных языков, таких как java и python, параллелизм достигается с помощью потоков. В Golang параллелизм достигается с помощью горутин. Горутины — это легкие потоки, в которых связь управляется каналами.

Написание вашего первого приложения на golang

Скачайте и установите GO через официальный сайт Скачать и установить — Язык программирования Go. Установите последнюю и стабильную версию для golang. После установки Запустите версию go, чтобы проверить успешную установку GO на вашем компьютере.

После установки мы создадим файл main.go внутри каталога. Напишите код hello world внутри файла go, показанного выше. Hello-World — это первая программа, которую вы всегда будете писать, чтобы понять базовую структуру языка программирования. Давайте разобьем программу на части и обсудим их.

  1. Основной пакет

В golang у нас есть система пакетов. Если вы работали с java или JavaScript, возможно, у вас есть хорошее представление о системах пакетов. Пакет — это просто каталог с кучей повторно используемого кода. Допустим, вы хотите создать приложение-калькулятор, вам нужно многократно выполнять простые арифметические операции сложение, вычитание, умножение и деление. Что вы будете делать? Наивным решением было бы просто реализовать эти функции в каждом файле кода, но это будет утомительной задачей. Другое решение состоит в том, чтобы взять эти функции и привязать их к каталогу с именем package и использовать эти функции в вашем основном каталоге.

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

2. Импорт пакетов

Импорт ключевое слово используется для импорта пакета в другой пакет. В строке 2 мы импортировали пакет fmt внутри нашего кода. Пакет Fmt в основном используется для выполнения операций ввода-вывода внутри приложения. Да, вы правы, в GO даже нет встроенной функциональности ввода-вывода, это потому, что создатели хотят, чтобы GO оставался легким. Существует два способа импорта пакета или пакетов.

3. Основная функция

Строка 3 представляет основную функцию программы. Func — это ключевое слово для написания функции внутри golang. Глядя на func maincompiler, можно начать выполнение программы отсюда. Затем следуют фигурные скобки {}, которые указывают блок основной функции в программе.

Внутри первой строки основного блока мы видим fmt.Println("Hello World")statement. Функция Println внутри пакета fmt используется для вывода вывода на экран. Вам может быть интересно, почему мы не указали разделитель строк, например точку с запятой; в конце строки, как и в других скомпилированных языках. Компилятор Go уже эффективен, он помещает ; во время выполнения внутри.

Запуск вашего первого приложения GO

Мы получили довольно хорошее представление об основной структуре программы GO. Наш следующий шаг — запустить программу и получить ожидаемый результат. У нас есть два варианта: либо запустить программу с помощью команды go cli go run main.go , либо собрать исполняемый файл и запустить его.

Чтобы создать исполняемый файл, мы запускаем go build main.go в cli. Это создаст двоичный файл, который вы сможете запустить на любой архитектуре без установки языка GO. Чтобы запустить файл сборки, мы запускаем команду ./main.

Заключение

После прочтения этой статьи у вас появится отличная мотивация для изучения golang. Я думаю, что объяснил, почему golang является золотым пятном между языками, поскольку он имеет лучшие черты, взятые из известных языков.

Если вы хотите прочитать о роли golang в DevOps и облачных вычислениях, загляните в этот блог здесь.

Немного о моем введении: я учусь на 7-м семестре, получаю степень бакалавра в области науки о данных. Я стажер в Cloud Native в Исламабаде, а также автор глоссария CNCF. У меня есть интересы в области разработки DevOps и Cloud Native.

Подпишитесь на Cloud Native Islamabad, чтобы получить потрясающий контент и практические руководства.