воскресенье, 30 декабря 2018 г.

Основы Go: результаты функций

Множественные результаты

Функция может возвращать любое количество результатов.

В следующем примере функция swap возвращает две строки.

package main

import "fmt"

func swap(x, y string) (string, string) {
  return y, x
}

func main() {
  a, b := swap("hello", "world")
  fmt.Println(a, b)
}

Результат:

world hello


Именованные возвращаемые значения

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

Эти имена следует использовать для документирования смысла возвращаемых значений.

return без аргументов возвращает именованные возвращаемые значения, что известно как "голый" возврат.

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

package main

import "fmt"

func split(sum int) (x, y int) {
  x = sum * 4 / 9
  y = sum - x
  return
}

func main() {
  fmt.Println(split(17))
}

Результат:

7 10


Читайте также:


суббота, 29 декабря 2018 г.

Основы Go: функции

Функции

Функция может принимать нуль или более аргументов.

В следующем примере add принимает два параметра типа int.

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

package main

import "fmt"

func add(x int, y int) int {
  return x + y
}

func main() {
  fmt.Println(add(42, 13))
}

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

В следующем примере мы сократили

x int, y int

до

x, y int

Сам пример:

package main

import "fmt"

func add(x, y int) int {
  return x + y
}

func main() {
  fmt.Println(add(42, 13))
}


Читайте также:

Основы Go: экспортированные имена

Экспортированные имена

В Go имя экспортируется, если оно начинается с заглавной буквы. Например, Pizza это экспортируемое имя, так же как и Pi, которое экспортируется из пакета math.

pizza и pi не начинаются с заглавной буквы, поэтому они не экспортируются.

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

package main

import (
  "fmt"
  "math"
)

func main() {
  fmt.Println(math.Pi)
}


Читайте также:


Основы языка Go: импорты

Импорты

Этот код группирует импорты в один import оператор с помощью скобочек.

Вы также можете использовать несколько import операторов:

import "fmt"
import "math"

Но хорошим тоном считается использование группированного import оператора.

package main

import (
  "fmt"
  "math"
)

func main() {
  fmt.Printf("Теперь у вас есть число %g.", math.Sqrt(7))
}


Читайте также:


пятница, 28 декабря 2018 г.

Основы языка Go: пакеты

Пакеты

Каждая программа на Go состоит из пакетов.

Программа начинает работу в пакете main.

Приведенная ниже программа использует пакеты с путями импорта "fmt" и "math/rand".

По соглашению, имя пакета совпадает с последним элементом пути импорта. Например, пакет "math/rand" состоит из файлов, которые начинаются с оператора package rand.

package main

import (
  "fmt"
  "math/rand"
)

func main() {
  fmt.Println("Мое любимое число ", rand.Intn(10))
}


Читайте также:


четверг, 27 декабря 2018 г.

Как запускать Go программы

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

Создайте свой каталог рабочей области (workspace directory), $HOME/go (% USERPROFILE%\go для Windows). (Если вы хотите использовать другой каталог, вам нужно будет установить переменную среды GOPATH.)

Затем создайте каталог src/hello внутри своего рабочего пространства, и в этом каталоге создайте файл с именем hello.go, который выглядит следующим образом:

package main

import (
  "fmt"
)

func main() {
  fmt.Printf("Запускаем свою программу!\n")
}

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

$ cd $HOME/go/src/hello
$ go build

Для Windows:

C:\> cd %USERPROFILE%\go\src\hello
C:\Users\Alex\go\src\hello> go build

Команда выше создаст исполняемый файл с именем hello (hello.exe для Windows) в каталоге вместе с вашим исходным кодом. Выполните его, чтобы увидеть сообщение:

$ ./hello
Запускаем свою программу!

Для Windows:

C:\Users\Alex\go\src\hello> hello
Запускаем свою программу!

Если вы видите сообщение «Запускаем свою программу!», значит, ваша установка Go работает.

Вы можете запустить go install, чтобы установить бинарный файл в каталог bin вашего рабочего пространства или go clean -i, чтобы удалить его.


Читайте также: