Передача Даних у Функції
Функції не дуже корисні, якщо ми не можемо отримати доступ до даних ззовні через різницю в областях видимості. Однак ми можемо передавати дані у функції за допомогою 'параметрів'.
Параметри визначають формат даних, які функція очікує отримати під час виклику або виконання.
У попередніх розділах ми розглядали прості функції без параметрів. Проте ми можемо оголосити функцію з параметрами, використовуючи наступний синтаксис:
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 }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain the difference between parameters and arguments again?
Why does the order of arguments matter when calling a function?
What happens if I use the same name for a parameter and a variable inside the function?
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 }
Дякуємо за ваш відгук!