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

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

В Go есть большинство функций, которые вы ожидаете от современного языка: дженерики, параллелизм, вывод типов, сборка мусора и многое другое.

Начало работы с Go

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

После того, как вы скачали и установили Go, вы можете начать писать и запускать код Go в файлах с .идти расширение файла.

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

instagram viewer

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

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

вар а нить
вар б инт
вар c любой

вар возраст нить = "пять лет"
вар возраст = 5// эквивалентно переменной age int = 5
ФМТ. Println (возраст)

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

Вы также можете объявить константы с помощью константа ключевое слово аналогично объявлению переменных.

константа возраст = "пять лет"

Невозможно модифицировать константы после их объявления.

Go предоставляет альтернативный способ объявления переменных в функциях. Обратите внимание на использование двоеточия перед знаком равенства:

функцияосновной() {
возраст := "пять лет" // эквивалент var age = "пять лет"
}

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

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

Вот пример если оператор, который сравнивает два целых числа на равенство:

вар а инт = 12

если а == 12 {
ФМТ. Println("а равно двенадцати")
}

Вы можете использовать только еще заявления после указания если оператор, и вы должны указать еще блокировать после закрытия если блокировать:

вар а инт = 12

если а == 12 {
ФМТ. Println("а равно двенадцати")
} еще {
ФМТ. Println("а не равно двенадцати")
}

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

Вот анатомия выключатель оператор в Go.

возраст := 7
выключатель возраст {
случай1:
ФМТ. Println("один")
случай2:
ФМТ. Println("два")
случай3:
ФМТ. Println("три")
по умолчанию:
ФМТ. Println("ноль")
}

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

Циклы for в Go

В Go предусмотрены циклы for для повторяющихся задач, и, в отличие от большинства языков, в Go нет циклов while или do-while.

Вы можете использовать популярный цикл for в стиле C или диапазон for-loop, который поддерживают определенные структуры данных.

Вот пример использования цикла for в стиле C в программе Go:

функцияпринтер() {
для я := 0; я <= 3; я++ {
ФМТ. Печать (i)
}
}

Вы можете использовать встроенный в Go цикл range for для составных структур данных, таких как срезы, карты и массивы. диапазон функция возвращает индекс и элемент индекса по мере прохождения структуры данных.

для индекс, значение := диапазон структура данных {
}

Массивы в Go

Массивы — один из составных типов данных в Go. Массивы Go похожи на массивы в стиле C и имеют определенную длину при объявлении и создании экземпляра.

Вот как вы можете объявить массивы в Go:

вар обр [5]нить
прибытие := [7]инт{0, 1, 2, 3, 4, 5, 6}

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

обр[3] = "три"

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

Слайсы в Go

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

Вам нужно будет использовать встроенный делать Функция для создания среза. Передайте тип данных среза и начальную длину в функцию make.

кусочек := делать([]нить, 9)
кусочек[2] = "два"

Вы можете использовать функцию добавления для вставки элементов в слайсы. По умолчанию добавить Функция вставляет элементы в конец среза.

ломтик = добавить(ломтик, «десять»)

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

Карты в Go

Карты — это встроенный ассоциативный тип данных (пара ключ-значение) в Go. Вы можете использовать делать функция для создания карты или простое объявление, в котором вам нужно будет создать экземпляр карты.

карты := делать(карта[нить]инт) // используя функцию make
карты := карта[нить]инт{"один": 1, "два": 2, "три": 3} // объявление и создание экземпляра карты

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

карты["один"] = 1// вставка на карту
один:= карты["один"] // доступ к элементу с карты

Вы можете использовать удалить функция для удаления пар ключ-значение с карт. удалить функция принимает идентификатор карты и ключ пары, которую вы хотите удалить:

удалить(карты, "один")

Функции в Go

Функции — это инструмент для повторного использования кода в Go. Вы можете объявить функции с помощью функция ключевое слово, за которым следует идентификатор функции:

функцияосновной() {
}

Функции могут принимать аргументы и возвращать значения. Вам нужно будет указать тип аргумента вместе с идентификатором для аргументов.

функциядобавлять(Икс нить, у инт)инт {
возвращаться х + у
}

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

Структуры в Go

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

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

Вот как вы можете объявить структуру в Go:

тип Игра структура {
Имя нить
Год инт
Время воспроизведения поплавок64
Игроки любые
Страны карта[нить]нить
}

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

вар мко игра // экземпляр значения по умолчанию

// создание экземпляра со значениями
мко := Игра{
Название: «Значение»,
Год: 1231,
Время воспроизведения: 1345412,
Игроки: [2]нить{"9", "вещи"},
данные: карта[нить]инт{"один": 1, "два": 2, "три": 2},
}

Функции могут реализовывать и получать доступ к типам структур. Вам нужно будет указать параметр структуры перед идентификатором функции.

функция(г игра)Найти игру(имя нить) {
а := г. Год // доступ к полям структуры
вар б = г. Страны // доступ к полям структуры
}

Когда вы передаете структуру функции, функция получает доступ к полям структуры и становится методом структуры.

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

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

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