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

Предыстория (мой опыт)

Я начал изучать языки программирования как часть компьютерного программирования, поначалу ничего не понимая. Я начал с C и C++, даже после 6 месяцев изучения это не имело для меня смысла. После знакомства с Python все стало легко.

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

Я перешел на Golang, чтобы понять управление памятью, лучше обрабатывать ошибки, создавать масштабируемые продукты и отказаться от использования Python для всего.

Большинство основных задач языка программирования по умолчанию лучше выполняются в python, например, переменные, типы данных, указатели, выделение памяти, создание пользовательских пакетов, загрузка библиотек и так далее. Таким образом, использование python в течение более длительного периода может затруднить работу с различными инструментами.

С точки зрения управления памятью, параллелизма, масштабируемости и распределенных вычислений Golang — лучший язык программирования. Golang можно использовать, когда огромное количество людей ежедневно использует программное обеспечение или приложение.

Введение в GO

Go — это статистически типизированный язык, разработанный Google и выпущенный в 2009 году. Он создан для решения огромных проблем, с которыми сталкиваются такие компании, как Google. Это также язык программирования с открытым исходным кодом.

Все мы знаем, что сервисами Google каждую секунду пользуются более миллиона человек, поэтому приложения должны быть высокодоступными, масштабируемыми, надежными и лучше управлять памятью.

GO также называют Golang, и эти слова взаимозаменяемы в Интернете.

Если вы уже создаете приложения, используя другие языки программирования, изучение Golang поможет вам писать более качественный код, так как он не позволяет запускать программу, если объявленные переменные и пакеты не используются, тогда как в других языках мы можем загружать неиспользуемые пакеты. .

Даже когда мы используем функции, мы должны указать тип возвращаемого значения, которое мы хотим получить из функции. При объявлении различных структур данных нам также необходимо упомянуть типы данных.

Базовая программа

Написание Hello World запрограммировано.

Переменные

Объявить переменные на ходу просто, упомянув тип данных с var перед переменной.

Тип данных — это значение, которое мы предоставляем компьютеру, оно помогает компилятору обрабатывать переменную.

Примеры: строка, целое число, логическое значение, число с плавающей запятой и т. д.

// here var is for declaring the variable
// a is variable and at the end is datatype
// var <variable> <datatype>
var a int32
a = 32
fmt.Printf("%d", a)

Мы также можем объявить значения напрямую.

a := 32
fmt.Printf("%d", a)

Точно так же мы можем объявить строки, логические значения.

package main

import "fmt"

func main() {
	//Print statement
	fmt.Println("Defining the variables")
	// writing variables in different formats
	var name string = "Sainadh"
	fmt.Println(name) //fmt has many other operations and functions
	var friend string
	friend = "Golang"
	fmt.Println(friend)

	// this is special case and we no need to give datatype
	blog := "medium"
	fmt.Println(blog)

	var age int = 22
	fmt.Println(age)

	year := 2022
	fmt.Println(year)

	//printing the value and datatype
	fmt.Printf("%v, %T", age, age)
}

Условные операторы

Когда дело доходит до условных операторов, мы можем использовать условия if, как и любой другой язык программирования, но у нас нет условия when вместо него мы можем использовать для.

age := 18
// if condition { } else { }
if (age >= 18) {
fmt.Println("Eligible to vote")
} else {
fmt.Println("Not Eligible to vote")
}
}

Если условия очень просты и они проверяют условия, если условие выполняется, то выполняется только связанная с ним программа.

В приведенной выше программе проверяется, имеет ли человек право голоса или нет в зависимости от его возраста.

Иногда мы хотим выполнить ряд шагов, пока условие не будет выполнено, в других языках программирования, например: - python, c, c++, у нас есть условие while, здесь мы есть для состояния.

i := 1
// for condition { code .. }
for i <= 5 {
     fmt.Println(i)
     i = i+1
     }

Приведенный выше код печатает 1, 2, 3, 4, 5.
Здесь мы начинаем с единицы, условие — когда i меньше 5, выполните приведенное ниже блокировать.

Блок — это набор кода, который выполняется на основе условия.

Циклы

Цикл делает то же самое в диапазоне значений. Это требуется для любого языка программирования.

// for initialize; condition; post condition
for i := 1; i <= 5; i++ {
     fmt.Println(i)
}

Здесь код печатает значения 1,2,3,4,5.

Цикл выполняется до тех пор, пока условие не будет выполнено.

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

Получение ВВОДА

На любом языке программирования ввод данных из нашей консоли необходим для тестирования кода и его лучшего написания.

Какой бы ввод мы ни ввели в Golang из командной строки, он читается как строка при использовании fmt.

Вот основная программа для ввода.

package main
import ( 
     "fmt" 
) 
func main(){  
     var name string 
     //reading from the cli
     fmt.Scanln(&name)
     fmt.Println("Your name is : ",name)
}

Приведенная выше программа полезна только для ввода одного слова. При использовании пакета os для ввода входные данные считываются как буфер, а затем буфер преобразуется в строку.

package main
import ( 
          "fmt" 
          "bufio" //for multiple elements as input 
          "os"
       )
func main() {
        // reading from the cli for multiple words 
        reader := bufio.NewReader(os.Stdin)
        fmt.Print("Enter a phrase: ")
        //here we are using '_' to ignore the error 
        name, _ := reader.ReadString('\n')
        fmt.Println("Your phrase is : ",name)
}

bufio – это буфер ввода-вывода, который преобразует ввод в строковый формат.

Когда мы введем этот ввод, os прочитает его как буфер, а с помощью bufio мы сможем преобразовать его в строку.

Для любых числовых значений мы можем извлечь их из строки с помощью преобразователя строк.

Давайте используем это в качестве примера.

package main
import ( 
    "fmt" 
    "bufio" //for multiple elements as input
    "os" 
    "strconv" //for converting string to integers
    "strings" // for trimming the extra spaces (in this case)
)
func main(){
    reader := bufio.NewReader(os.Stdin)
    fmt.Println("Enter your age : ")
    age, _ := reader.ReadString('\n')
    ageNum,  _ := strconv.ParseFloat(strings.TrimSpace(age), 64)
    fmt.Println("Your age is increased by : ",ageNum+2)
}

Мы узнали об основах go, таких как объявление и определение переменных, ввод данных из консоли, использование таких пакетов, как fmt, os, bufio, strconv и strings.

Эти блоги больше о практическом опыте и о том, как запачкать руки.

Если вы больше заинтересованы в Golang, следите за этой серией блогов GO и применяйте знания, полученные при решении 30 Days of Coding on Hacker Rank с использованием Golang.

Если у вас есть какие-либо вопросы, пожалуйста, прокомментируйте ниже.

Ссылка: -