Параметры и аргументы
Чтобы передать информацию в функцию, вы задаёте ей параметры. Внутри функции каждый параметр ведёт себя как переменная.
Параметры перечисляются в круглых скобках после имени функции, каждый со своим типом. Их может быть столько, сколько нужно; они разделяются запятыми.
Синтаксис параметров
func FunctionName(param1 type, param2 type, param3 type) {
// code to be executed
}
Пример функции с параметром
В этом примере familyName() принимает один параметр fname типа string. При каждом вызове передаётся другое имя, которое функция использует в своём сообщении. Поэтому имя меняется от строки к строке, а фамилия остаётся прежней.
Примечание: Значение, которое вы передаёте при вызове, имеет собственное название: аргумент. В этом примере fname — это параметр, а Liam, Jenny и Anja — это аргументы.
Пример
Вывод: Программа на Go и захваченный вывод
package main
import ("fmt")
func familyName(fname string) {
fmt.Println("Привет,", fname, "Refsnes")
}
func main() {
familyName("Liam")
familyName("Jenny")
familyName("Anja")
}
Несколько параметров
Функция не ограничена одним параметром: она может принимать столько, сколько нужно. Здесь familyName() принимает имя и возраст.
Примечание: Если параметров несколько, при каждом вызове нужно передать по одному аргументу на каждый параметр, в том же порядке, в котором они объявлены.
Пример
Вывод: Программа на Go и захваченный вывод
package main
import ("fmt")
func familyName(fname string, age int) {
fmt.Println("Привет,", fname, "Refsnes, возраст:", age)
}
func main() {
familyName("Liam", 3)
familyName("Jenny", 14)
familyName("Anja", 30)
}