Объявление функции func

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

Синтаксис

gofunc name(parameters) returnType {
  // body
}

Пример

Давайте объявим простую функцию без параметров, которая выводит приветствие:

gopackage main

import "fmt"

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

func main() {
  greet()
}

Результат выполнения кода:

go"Hello, Go!"

Пример

Объявим функцию с одним параметром и возвращаемым значением:

gopackage main

import "fmt"

func square(x int) int {
  return x * x
}

func main() {
  res := square(5)
  fmt.Println(res)
}

Результат выполнения кода:

go25

Пример

Объявим функцию с несколькими параметрами и несколькими возвращаемыми значениями:

gopackage main

import "fmt"

func divide(a, b int) (int, int) {
  return a / b, a % b
}

func main() {
  quot, rem := divide(10, 3)
  fmt.Println(quot, rem)
}

Результат выполнения кода:

go3 1

Пример

Объявим функцию с именованными возвращаемыми значениями, которые можно использовать без явного return:

gopackage main

import "fmt"

func getCoords() (x, y int) {
  x = 10
  y = 20
  return // naked return
}

func main() {
  a, b := getCoords()
  fmt.Println(a, b)
}

Результат выполнения кода:

go10 20

Смотрите также

  • объявление package,
    которое определяет пространство имен для функций
  • инструкцию return,
    которая возвращает значение из функции
  • объявление var,
    которое создает переменные внутри функции
  • инструкцию defer,
    которая откладывает выполнение до завершения функции