Go — один из современных языков программирования, набирающий популярность во многих опросах, поскольку разработчики предпочитают язык. Go имеет простой в использовании и понятный синтаксис, обеспечивая при этом высочайшую производительность.
Вы можете использовать Go для создания различных приложений, от веб-приложений до приложений командной строки, облачных сервисов и сетей. Экосистема сторонних пакетов Go поддерживает множество других вариантов использования.
В Go есть большинство функций, которые вы ожидаете от современного языка: дженерики, параллелизм, вывод типов, сборка мусора и многое другое.
Начало работы с Go
Вы можете запустить Go на большинстве операционных систем. Направляйтесь к страница установок и загрузите предпочтительную версию Go для вашей операционной системы.
После того, как вы скачали и установили Go, вы можете начать писать и запускать код Go в файлах с .идти расширение файла.
Вы обнаружите, что Go обладает большинством функций и большей частью функций других языков программирования. Если у вас есть предыдущий опыт программирования, вы должны найти Go простым.
Переменные в 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 широко используется в качестве серверного языка, и вы всегда можете изучить создание веб-приложений с его помощью.