Начать работу с GoLang

Введение

GoLang — достаточно новый язык, впервые появившийся еще в 2009 году и созданный разработчиками Google. Это статически типизированный и компилируемый язык программирования. Он похож на C по синтаксису, но с дополнительными функциями, такими как расширенный сборщик мусора, безопасность памяти, структурная типизация, параллелизм и параллелизм. Его встроенная система пакетов впечатляет и имеет множество пакетов, что делает его готовым к работе в Интернете из коробки.

Преимущества использования Go

  • Это FASSTTT, так как это скомпилированный язык
  • ЕЕ ЛЕГКО УЗНАТЬ, так как он был создан с использованием синтаксиса, похожего на C, но с простотой понимания, как в Python или JavaScript. Он использует тот же процедурный подход к программированию, что и C++ или JAVA.
  • Его можно масштабировать. Go был создан Google с учетом масштабируемости в качестве первого приоритета. Это самый эффективный язык для создания внутренних серверов. Благодаря таким функциям, как Goroutines (несколько функций, работающих одновременно и независимо), он имеет очень низкую сигнатуру памяти и очень быстр.
  • Он имеет очень НАДЕЖНУЮ встроенную систему пакетов. Например, он связан со встроенной net/http библиотекой, способной мгновенно создавать серверы производственного уровня.

Использование Go

Благодаря своей высокой масштабируемости, эффективности хранения и быстрому характеру он широко используется при создании серверных приложений. Google создал этот язык и использует его для своих внутренних проектов. Google Earth, Google Chrome и Youtube используют Go. Uber — еще один технологический гигант, использующий Go для своих услуг геозон и реализующий динамические ценовые модели в своей системе благодаря его скорости и высокой надежности. Такие компании, как Dropbox, Soundcloud и Twitch, используют Go для своих серверов. "Проверить"

Установка компилятора Go

Начнем с установки go-compiler на наши машины. Просто перейдите по этой ссылке и выполните необходимые шаги для установки компилятора в вашей системе.

Затем введите следующую команду в своих терминалах после установки, чтобы проверить версию компилятора и правильно ли он установлен.

go version

На данный момент я работаю над версией 1.18.

Все на борту?

Написание программы Hello World

Откройте новый файл с именем main.go в вашем любимом редакторе кода, я использую GoLand от JetBrains, и по традиции создадим простую программу hello world.

package main

import "fmt"

func main(){
      fmt.Println("Hello, World !!")
}

Теперь сохраните файл и откройте свой терминал в текущем каталоге. Чтобы выполнить эту программу, введите следующую команду в своем терминале.

go run main.go

Примечание. Если вы получили сообщение об ошибке, связанное с файлом .exe, попробуйте отключить антивирус в вашей системе.

Эта программа должна вывести «Hello, World!!» в вашем терминале.

Вот объяснение того, что мы только что сделали!! Первая строка package main определяет эту программу как основной файл go в каталоге. func main() — это место, где программа начинает выполняться, каждый основной пакет должен иметь основную функцию для запуска выполнения программы. Затем мы используем стандартную библиотеку fmt для печати hello world в терминале. Эта библиотека является частью стандартных библиотек, поставляемых в комплекте с компилятором.

Переменные в Go

Если вы исходите из чистого фона javascript или python. В этом случае вы можете не знать о статически типизированном синтаксисе Go, где вы должны заранее определить тип данных и возвращаемый тип переменных и функций.

Объявление переменных в Go

Синтаксис

var <variable-name> <datatype>

Сокращение: =

Другой синтаксис или сокращение := для инициализации переменных, когда мы не знаем, какой будет тип (в случае, если функция возвращает некоторые данные):

myVar := someFunctionWithSomeReturnValue()

Присвоение значений переменным

var status bool
var a int = 10
//or
var b int
b = 20
//Multivariable initialization
c,d := 100,3.14
// string
s := "Welcome to Golang"
isTrue := false

Постоянные переменные

const a int = 5
const (
    b = 10
    s = "I am constant"
) 

Ключевое слово const используется для того, чтобы сделать переменную постоянной и неизменной в программе.

Петли

Ключевое слово for используется для создания нескольких типов циклов в Golang. Простой цикл For

for i:=0 ; i<10; i++{
fmt.Println(i)
}
>>> 1
>>> 2
>>> ...
>>> 10

Бесконечный цикл

i:=0
for{
fmt.Println(i)
i++
}

Цикл while создается с использованием ключевого слова for, например for condition{} .

for isTrue==true{
fmt.Println(isTrue)
}

Функции в Go

Прототип функции — func <function name>(<parameters type>) <return type> {}

func addNumbers(x,y int) int {
      sum := x+y
      return sum
      //or
      return x+y
}

Это синтаксис, в котором мы объявляем функции в Go. Входные параметры должны быть определены с их типами данных.

  • func => Это ключевое слово для объявления функции в Go.
  • параметры => Это необязательно, оно содержит список входных данных и их тип данных, которые принимает функция.
  • тип возврата => Это необязательно и указывает, что будет возвращать функция.

Напишем программу, которая проверяет, является ли число палиндромом или нет.

main.go

package main
import "fmt"
func main(){
ans := checkPalindrome(121)
    fmt.Println(ans)
}
func checkPalindrome(x int) bool {
var temp int = x //to store value of x
    var rev int = 0  //to store the reversed number
for temp != 0 {
        rev = (rev * 10) + (temp % 10)
        temp /= 10
    }
if rev == x {
        return true
    } else {
        return false
    }
}

Запустите эту программу, перейдя в терминал в каталоге вашего проекта и выполнив эту команду

go run main.go

Эта программа использует все, что мы узнали в предыдущих разделах, кроме части for temp !=0, цикл while в Go заменен ключевым словом for the, которое работает как цикл while.

Другие программы, чтобы попробовать

  • Генератор рядов Фибоначчи
  • Получение ввода из командной строки
  • Создание и работа с массивами (или слайсами, как они называются в Go)

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

В следующей статье я расскажу об указателях, интерфейсах, структурах, срезах и картах, которые являются более продвинутыми и часто используемыми функциями в GoLang. Следите за обновлениями !!

Спасибо :) Продолжайте учиться !! и подписывайтесь на меня на Github

Первоначально опубликовано на https://utkarshtripathi.hashnode.dev.