Go | Первая программа

Последнее обновление: 03.12.2021

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

Создание программы

Определим на жестком диске папку для хранения файлов с исходным кодом. Допустим, в моем случае это будет папка C:\golang. В этой папке создадим новый текстовый файл, который переименуем в hello.go.

Откроем этот файл в любом текстовом редакторе и определим в нем следующий код:


package main
import "fmt"

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

Что в этой программе делается? Программа на языке Go определяется в виде пакетов. Программный код должен быть определен в каком-то определенном пакете. Поэтому в самом начале файла с помощью оператора package указывается, к какому пакету будет принадлежать файл.

В данном случае это пакет main:

package main

Причем пакет должен называться именно main, так как именно данный пакет определяет исполняемый файл.

При составлении программного кода нам может потребоваться функционал из других пакетов. В Go есть множество встроенных пакетов, которые содержат код, выполняющий определенные действия. Например, в нашей программе мы будем выводить сообщение на консоль. И для этого нам нужна функция Println, которая определена в пакете fmt. Поэтому второй строкой с помощью директивы import мы подключаем этот пакет:

import "fmt"

Далее идет функция main. Это главная функция любой программы на Go. По сути все, что выполняется в программе, выполняется именно функции main.

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

Затем в фигурных скобках определяется тело функции main — те действия, которые собственно и выполняет функция.

func main() {

В нашем случае функция выводит на консоль строку «Hello Go!». Для этого применяется функция Println(), которая определена в пакете fmt. Поэтому при вызове функции вначале указывается имя пакета и через точку имя функции. А в скобках функции передается то сообщение, которое она должна выводить на консоль:

fmt.Println("Hello Go!")

Компиляция и выполнение программы

Теперь скомпилируем и выполним данную программу. Для этого необходимо передать файл с исходным кодом компилятору go.exe и указать нужную команду. Для этого откроем командную строку(терминал) и перейдем в ней с помощью команды cd к папке, где храниться файл с исходным кодом hello.go (в моем случае это папка C:\golang):

cd C:\golang

Затем выполним программу с помощью следующей команды:

go run hello.go

go — это компилятор.

Поскольку при установке путь к компилятору автоматически прописывается в переменную PATH в переменных окружения, то нам не надо указывать полный путь C:\Go\bin\go.exe, а достаточно написать просто имя приложения go. Далее идет параметр run, который говорит, что мы просто хотим выполнить программу. И в конце указывается собственно файл программы hello.go.

В итоге после выполнения на консоль будет выведено сообщение «Hello Go!».

Данная команды выполняет, но не компилирует программу в отдельный исполняемый файл. Для компиляции выполним другую команду:

go build hello.go

После выполнения этой команды в папке с исходным файлом появится еще один файл, который будет называться hello.exe и который мы можем запускать. После этого опять же мы можем выполнить программу, запустив в консоли этот файл:

НазадСодержаниеВперед

Ваша первая программа — Введение в программирование на Go

Традиционно первая программа, с которой начинается изучение любого языка программирования, называется «Hello World» — эта программа просто выводит в консоль строку Hello World. Давайте напишем её с помощью Go.

Сначала создадим новую директорию, в которой будем хранить нашу программу. Установщик, о котором говорилось в первой главе, создал в вашей домашней директории каталог

Go. Теперь создайте директорию под названием ~/Go/src/golang-book/chapter2 (где ~ означает вашу домашнюю директорию). Вы можете сделать это из терминала с помощью следующих команд:

mkdir Go/src/golang-book
mkdir Go/src/golang-book/chapter2

Используя текстовый редактор, введите следующее:

package main
import "fmt"
// this is a comment
func main() {
    fmt.Println("Hello World")
}

Убедитесь, что содержимое файла идентично показанному здесь примеру, и сохраните его под именем main.go в созданной ранее директории. Затем откройте новое окно терминала и введите:

cd Go/src/golang-book/chapter2 go run main.go

В окне терминала вы должны увидеть сообщение Hello World. Команда go run берет указанные файлы (разделенные пробелами), компилирует их в исполняемые файлы, сохраняет во временной директории и запускает. Если вы не увидели Hello World, то, вероятно, где-то была допущена ошибка, и компилятор подскажет вам, где конкретно. Как и большинство компиляторов, компилятор Go крайне педантичен и не прощает ошибок.

Как читать программу на Go

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

package main

Это называется «определением пакета». Любая Go программа должна начинаться с определения имени пакета. Пакеты — это подход Go к организации и повторному использованию кода. Есть два типа программ на Go: исполняемые файлы и разделяемые библиотеки. Исполняемые файлы являются видом программ, которые можно запустить прямо из терминала (в Windows их имя заканчивается на .exe). Библиотеки являются коллекциями кода, который можно использовать из других программ. Детальнее мы будем рассматривать библиотеки чуть позже, а пока просто не забудьте включать эту строку в программы, которые вы пишете.

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

Дальше следует это:

import "fmt"

Ключевое слово import позволяет подключить сторонние пакеты для использования их функциональности в нашей программе. Пакет

fmt (сокращение от format) реализует форматирование для входных и выходных данных. Учитывая то, что мы только что узнали о пакетах, как вы думаете, что будет содержаться в верхней части файлов пакета fmt?

Обратите внимание, что fmt взят в двойные кавычки. Использование двойных кавычек называется «строковым литералом», который в свою очередь является видом «выражения». Строки в Go представляют собой набор символов (букв, чисел, …) определенной длины. Строки мы рассмотрим детально в следующей главе, а сейчас главное иметь в виду, что за открывающим символом

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

Строка, начинающаяся с //, является комментарием. Комментарии игнорируются компилятором Go и служат пояснениями исключительно для вас (или для тех, кто будет потом читать ваш код). Go поддерживает два вида комментариев: // превращает в комментарий весь текст до конца строки и /* */, где комментарием является всё, что содержится между символами * (включая переносы строк).

Далее можно увидеть объявление функции:

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

Функции являются кирпичиками программы на Go. Они имеют входы, выходы и ряд действий, называемых операторами, расположенных в определенном порядке. Любая функция начинается с ключевого слова func за которым следуют: имя функции (в нашем случае main), список из нуля и более параметров в круглых скобках, возвращаемый тип (если есть) и само «тело», заключенное в фигурные скобки. Наша функция не имеет входных параметров, ничего не возвращает и содержит всего один оператор. Имя main является особенным, эта функция будет вызываться сама при запуске программы.

Заключительной частью нашей программы является эта строка:

fmt.Println("Hello World")

Этот оператор содержит три части: доступ к функции пакета fmt под названием Println (Print line), затем создание новой строки, содержащей Hello World, и вызов функции с этой строкой в качестве первого и единственного аргумента.

На данный момент вы уже можете быть немного перегружены количеством новых терминов. Иногда полезно не спеша прочесть вашу программу вслух. Программу, которую мы только что написали, можно прочитать следующим образом:

Создать новую исполняемую программу, которая использует библиотеку fmt и содержит функцию main. Эта функция не имеет аргументов, ничего не возвращает и делает следующее: использует функцию Println из библиотеки fmt и вызывает её, передавая один аргумент — строку Hello World.

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

godoc fmt Println

Среди прочей информации вы должны увидеть это:

Println formats using the default formats for its operands and writes to
standard output. Spaces are always added between operands and a newline is
appended.  It returns the number of bytes written and any write error
encountered.

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

Сейчас документация говорит нам, что вызов Println пошлет передаваемые ей данные на стандартный вывод — терминал, вы сейчас работаете в нём. Эта функция является причиной, по которой Hello World отображается на экране.

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

Задачи

  • Что такое разделитель?

  • Что такое комментарий? Назовите два способа записи комментариев.

  • Наша программа начиналась с package main. С чего начинаются файлы в пакете fmt?

  • Мы использовали функцию Println из пакета fmt. Если бы мы хотели использовать функцию Exit из пакета os, что бы для этого потребовалось сделать?

  • Измените написанную программу так, чтобы вместо Hello World она выводила Hello, my name is вместе с вашем именем.

‎Программа Go Карта Way2Go в App Store

Скриншоты iPhone

Описание

Работает со всеми программами MasterCard, соответствующими программе Go Program® Way2Go Card®. Чтобы определить, имеете ли вы право использовать это приложение, обратитесь к обратной стороне вашей предоплаченной карты. На обратной стороне карты в правом нижнем углу вы увидите слова GoProgram.com.

Это бесплатный и быстрый способ контролировать доступный баланс и активность транзакций.

• Вход с биометрическими данными
• Проверка доступного баланса в любое время и в любом месте
• Просмотр истории транзакций за 18 месяцев
• Подтверждение последнего депозита
• Изменение PIN-кода
• Настройка и управление уведомлениями о депозитах и ​​балансе
• Управление уведомлениями предпочтения
• Активировать новую карту
• Возможность просмотра информации о плате за дополнительные услуги
• Блокировка и разблокировка карты: Вы потеряли карту или забыли ее в магазине? Теперь вы можете мгновенно заблокировать ее для защиты от несанкционированного использования вместо того, чтобы аннулировать карту и ждать замены.
• Просмотр и загрузка ежемесячных отчетов.

Если у вас уже есть идентификатор пользователя и пароль карты GoProgram.com Way2Go Card, вы готовы использовать мобильное приложение Way2Go Card.

Новые пользователи: сначала необходимо зарегистрировать учетную запись карты в мобильном приложении или на сайте www.GoProgram.com, чтобы получить идентификатор пользователя и пароль для доступа.

Раскрытие информации:
Доступно только для клиентов и счетов Way2Go Card, имеющих право на участие в программе Go.
За использование официального мобильного приложения Go Program Way2Go Card плата не взимается, но могут применяться тарифы на сообщения и передачу данных.

© Conduent, Inc., 2022. Все права защищены. Conduent®, Conduent Agile Star®, Way2Go Card® и Go Program® являются товарными знаками Conduent, Inc. и/или ее дочерних компаний в США и/или других странах.

Версия 3.0.0

• Блокировка и разблокировка карты. Вы потеряли карту или забыли ее в магазине? Теперь вы можете мгновенно заблокировать ее для защиты от несанкционированного использования вместо того, чтобы аннулировать карту и ждать замены.
• Просмотр и загрузка ежемесячных отчетов.

Рейтинги и обзоры

21,5 тыс. оценок

Отличное банковское приложение, но сложно перевести средства в другое место

Это очень полезное и простое в использовании приложение. Моя проблема возникла, когда я попытался перевести средства со своего счета Way2Go на другой банковский счет. Это заняло 6 дней, и я не получил подтверждения или сообщения о том, что он будет успешно переведен, или даже о том, сколько времени это займет. Мне пришлось позвонить на их горячую линию и просмотреть около миллиарда вариантов меню, чтобы женщина сообщила мне, что перевод занимает 5-7 дней, а в случае ошибки требуется 10-15 дней, чтобы вернуться в аккаунт Way2Go. Деньги были сняты со счета Way2Go на следующий день и не появлялись на моем другом банковском счете до следующей недели. Таким образом, в течение 6 дней я потерял 200 долларов, которые я переводил, и у меня не было резервных денег, поэтому я разорился в основном на неделю, потому что меня не предупредили, что перевод денег займет так много времени. Это было странно, потому что я ранее переводил средства со своего счета Way2Go на другой банковский счет, и эти средства были переведены на другой банковский счет на следующий день. Поэтому естественно предполагалось, что это будет иметь место и для этого перевода средств, но этого не произошло. Просто предупреждение для тех, кто хотел бы перевести средства в будущем. Кроме этой неудачи, в этом приложении нет ничего плохого. Мне особенно нравится функция входа в систему, которая использует изображение для идентификации вашей учетной записи, прежде чем вы введете свой пароль.

Только одна проблема

Единственная проблема, которая у меня есть, это проблема, с которой сталкиваются многие клиенты, и когда я перевел средства на другой счет, прошло всего несколько дней, но в моем приложении waytogo это показывает, что деньги ушли и были переведены, но в моем другом аккаунт ничего не говорит о переводе средств, так что это очень сбивает с толку и очень расстраивает, потому что, если бы я знал об этом, я бы не перевел деньги, потому что они мне нужны сейчас! Но теперь мне придется ждать, пока они появятся на моем другом банковском счете, или еще дольше ждать, пока они вернутся в мою учетную запись приложения waytogo, пожалуйста, исправьте это как можно скорее, потому что это наши деньги, и мы должны быть уведомлены о том, куда они идут, и все такое. что, но вместо этого я не получил абсолютно ничего и не могу связаться с реальным человеком, компьютерная леди не может помочь мне с тем, что мне нужно, поэтому мне нужно поговорить с реальным человеком !!!!
Спасибо и благослови бог, я должен был прочитать последний обзор, в котором говорится о тех же проблемах, и я бы не сделал ошибку, перенеся его!!!! Очень расстраиваюсь, потому что я до сих пор ничего не получил!!!

Обслуживание клиентов

У меня проблем с самой картой нет. Однако проблема, которая у меня есть, связана с обслуживанием клиентов. Я использую Way2Go по безработице с мая 2020 года. Мне пришлось 3 раза звонить в службу поддержки. В один из таких случаев я позвонил, потому что я был в путешествии и хотел убедиться, что если я воспользуюсь своей картой, моя учетная запись не будет заблокирована. Я был в ожидании более 2 часов и 45 минут только для того, чтобы поговорить 30 секунд. Один из других раз, когда я звонил, был из-за того, что моя карта была заблокирована из-за «подозрения в мошенничестве». Я разговаривал по телефону 3 ЧАСА 53 МИНУТЫ. Только 8 минут я действительно разговаривал с кем-то. Это, безусловно, самое ужасное обслуживание клиентов, с которым я когда-либо имел дело. Мало того, что время удержания просто смехотворно, но когда они отвечают на телефонные звонки, вам приходится ИЗОРВАТЬСЯ, чтобы их услышать. Они бормочут, и они всегда звучат так, как будто они приглушены и находятся под водой. Я сказал парню, что мне было трудно его слышать, и он не признал меня, и с этого момента мне действительно стало труднее его слышать. С моей картой не было никаких мошеннических действий, и я не получил объяснений, почему она была заблокирована, и, наконец, в конце этого телефонного звонка он сказал спасибо за использование Way2Go, и я как раз спрашивал, могу ли я использовать мою карту, И ОН ПОВЕСИЛ ОТ МЕНЯ. Я очень недоволен этим обслуживанием клиентов, и если бы не тот факт, что именно так я получил свою безработицу, я бы НЕ использовал их.

Разработчик, Conduent Inc., указал, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Для получения дополнительной информации см. политику конфиденциальности разработчика.

Данные, не связанные с вами

Могут быть собраны следующие данные, но они не связаны с вашей личностью:

  • Данные об использовании
  • Диагностика
  • Другие данные

Методы обеспечения конфиденциальности могут различаться, например, в зависимости от используемых вами функций или вашего возраста. Узнать больше 

Информация

Продавец
Кондуэнт Инк.

Размер
15,9 МБ

Категория
Финансы

Возрастной рейтинг
4+

Авторское право
© Conduent, Inc., 2022. Все права защищены. Conduent®, Conduent Agile Star®, Way2Go Card® и Go Program® являются товарными знаками Conduent Inc и/или ее дочерних компаний в США и/или других странах

Цена
Бесплатно

  • Сайт разработчика
  • Тех. поддержка
  • политика конфиденциальности

Еще от этого разработчика

Вам также может понравиться

Язык программирования Go

  • Посмотреть пример из практики

  • Посмотреть пример из практики

  • Посмотреть пример из практики

  • Посмотреть пример из практики

// Вы можете редактировать этот код! // Щелкните здесь и начните печатать. основной пакет импортировать «фмт» основная функция () { fmt.Println(«Привет, 世界») }

 Привет, 世界 

Привет, мир! Игра жизни Конвея Замыкание Фибоначчи Целые числа Пеано Параллельное число pi Параллельное вычисление простых чисел SievePeg Solitaire Сравнение деревьев

  • Облачные и сетевые службы

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

  • Интерфейсы командной строки

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

  • Веб-разработка

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

  • DevOps и надежность сайта

    Благодаря быстрой сборке, компактному синтаксису, автоматическому форматированию и генератору документов Go поддерживает как DevOps, так и SRE.

  • Другие варианты использования arrow_forward

  • Учебные поездки с гидом

    Пошаговые руководства, чтобы намочить ноги

  • Онлайн обучение

    Просматривайте ресурсы и учитесь в своем собственном темпе

  • Избранные книги

    Прочитайте структурированные главы и теории

  • Облако Самостоятельные занятия

    Перейти к развертыванию приложений Go на GCP

  • Ардан Лабс

    Предлагает индивидуальные обучающие занятия на месте.