Передача Даних у Функції
Функції не дуже корисні, якщо ми не можемо отримати доступ до даних ззовні через різницю в областях видимості. Однак ми можемо передавати дані у функції за допомогою 'параметрів'.
Параметри визначають формат даних, які функція очікує отримати під час виклику або виконання.
У попередніх розділах ми розглядали прості функції без параметрів. Проте ми можемо оголосити функцію з параметрами, використовуючи наступний синтаксис:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Кожен параметр може мати унікальне ім’я, за яким вказується його тип даних. Параметри розділяються комами. Імена параметрів підпорядковуються тим самим правилам, що й імена змінних.
Наведено приклад, який демонструє використання функцій із параметрами:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
У наведеній вище програмі можна побачити функції з одним, двома та трьома параметрами. Цілком можливо створювати функції з будь-якою необхідною кількістю параметрів.
Значення можна передавати цим функціям як безпосередньо, так і через змінні. Наприклад, у наступному виразі ми безпосередньо передаємо рядкове значення туди, де очікується параметр:
index.go
1outThreeTimes("Hello World")
Альтернативно, можна зберегти це значення у змінній типу string і потім передати цю змінну у функцію:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
У наведеному нижче виразі спостерігається поєднання обох підходів:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Ви можете обрати будь-який метод, який найкраще відповідає вашим потребам.
Примітка
При передачі змінних або значень даних у функцію їх називають аргументами. У випадку
product(a, b, 9)терміниa,bта9є аргументами. Навпаки, у визначенні функціїval1 int,val2 intтаval3 intназиваються параметрами.
Важливо передавати дані у функції у порядку, визначеному параметрами. Наприклад, у функції func myFunc(an int, b string) перший аргумент має бути цілим числом, а другий — рядком; будь-який інший порядок призведе до помилок.
Усередині функції параметри фактично виконують роль змінних, які приймають значення переданих аргументів. Тому оголошення змінних з такими ж іменами, як у будь-якого параметра функції, всередині тіла функції призведе до помилок.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 1.96
Передача Даних у Функції
Свайпніть щоб показати меню
Функції не дуже корисні, якщо ми не можемо отримати доступ до даних ззовні через різницю в областях видимості. Однак ми можемо передавати дані у функції за допомогою 'параметрів'.
Параметри визначають формат даних, які функція очікує отримати під час виклику або виконання.
У попередніх розділах ми розглядали прості функції без параметрів. Проте ми можемо оголосити функцію з параметрами, використовуючи наступний синтаксис:
index.go
123func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Кожен параметр може мати унікальне ім’я, за яким вказується його тип даних. Параметри розділяються комами. Імена параметрів підпорядковуються тим самим правилам, що й імена змінних.
Наведено приклад, який демонструє використання функцій із параметрами:
index.go
12345678910111213141516171819202122package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
У наведеній вище програмі можна побачити функції з одним, двома та трьома параметрами. Цілком можливо створювати функції з будь-якою необхідною кількістю параметрів.
Значення можна передавати цим функціям як безпосередньо, так і через змінні. Наприклад, у наступному виразі ми безпосередньо передаємо рядкове значення туди, де очікується параметр:
index.go
1outThreeTimes("Hello World")
Альтернативно, можна зберегти це значення у змінній типу string і потім передати цю змінну у функцію:
index.go
12var msg string = "Hello World" outThreeTimes(msg)
У наведеному нижче виразі спостерігається поєднання обох підходів:
index.go
123var a int = 4 var b int = 7 product(a, b, 9)
Ви можете обрати будь-який метод, який найкраще відповідає вашим потребам.
Примітка
При передачі змінних або значень даних у функцію їх називають аргументами. У випадку
product(a, b, 9)терміниa,bта9є аргументами. Навпаки, у визначенні функціїval1 int,val2 intтаval3 intназиваються параметрами.
Важливо передавати дані у функції у порядку, визначеному параметрами. Наприклад, у функції func myFunc(an int, b string) перший аргумент має бути цілим числом, а другий — рядком; будь-який інший порядок призведе до помилок.
Усередині функції параметри фактично виконують роль змінних, які приймають значення переданих аргументів. Тому оголошення змінних з такими ж іменами, як у будь-якого параметра функції, всередині тіла функції призведе до помилок.
index.go
123func myFunc(param int) { var param int = 1 // Error Here }
Дякуємо за ваш відгук!