Продолжая предыдущую статью, есть еще несколько советов и приемов, которым можно научить вас.
Для импорта мы можем написать их гораздо яснее, если у нас есть несколько импортов:
Старый способ:
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.