Начать работу с 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.