Функции

Самый простой способ определить функцию в Go – использовать следующую конструкцию:

func имя(список параметров) (список результатов) {
  // тело функции
} 

Для именования функций в Go принято использовать CamelCase для экспортируемых функций и lowerCamelCase для неэкспортируемых функций.

Список параметров содержит их имена и типы. Типы указываются после имени параметра. Функция может принимать ноль, один или более параметров. Для имен параметров всегда принято использовать только lowerCamelCase.

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

func swap(a int, b int) (int, int) {
  return b, a
}

Если функция возвращает только один результат, то принято опускать скобки в списке результатов.

func add(a int, b int) int {
  return a + b
}

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

func add(a, b int) int {
  return a + b
}

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

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

Когда вы используете именованные результаты, то можно опустить список возвращаемых значений и использовать пустой return.

func swap(a, b int) (n, m int) {
  n = b
  m = a
  return
}

Задание

Реализуйте функцию PrintTwice(value string), которая печатает на экран переданное значение два раза.

solution.PrintTwice("WoW")
// WoW
// WoW

Так как функция экспортируемая, не забудьте написать комментарий с описанием данной функции.


Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics
Упражнение доступно только авторизованным пользователям.

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