Продолжая предыдущую статью, есть еще несколько советов и приемов, которым можно научить вас.

Для импорта мы можем написать их гораздо яснее, если у нас есть несколько импортов:

Старый способ:

import "fmt"
import "time"

Новый путь:

import (
    "fmt"
    "time"
)

Это сделает наш код чище и кратче.

Мы также можем проделать тот же трюк с переменными и константами:

var (
name string
age int
address string
married bool
)

и аналогично с константами:

package main 
import "fmt"
const (
name string = "Matthew"
)
func main(){
   fmt.Println(name)
}

Функции:

Функции очень похожи на большинство других языков, у нас могут быть функции без параметров:

func HelloWorld(){
fmt.Println("hello, world!")
}
  • Обратите внимание на использование заглавных букв в имени функции, это означает, что функция экспортируется, это похоже на предпосылку открытых и закрытых методов. Если переменная/функция начинается с нижнего регистра, то это закрытый метод и его можно использовать только в этом пакете. Однако, если это имя с заглавной буквы, например HelloWorld, мы можем использовать его в другом месте.

Функция входного параметра:

func incrementByOne(number int){
    number += 1
    fmt.Println(number)
}

Эта функция принимает именованный параметр с именем number типа int и увеличивает полученное число на единицу, а затем выводит это значение на экран.

Функции возвращаемого значения:

func incrementByOne(number int) int{
    number += 1
    return number
}

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

Несколько возвращаемых значений:

func incrementByOne(number, test int) (int, int) {
    number += 1
    return number, test
}

В этом примере мы возвращаем два значения int.