Funksiyadan qiymat qaytarish


ULASHISH

Qaytariladigan qiymatlar

Agar funksiya qiymat qaytarishini istasangiz, qaytariladigan qiymatning ma’lumot tipini (masalan, int, string va h.k.) belgilashingiz va funksiya ichida return kalit so‘zidan foydalanishingiz kerak:

Sintaksis

func FunctionName(param1 type, param2 type) type {   // code to be executed   return output }

Qiymat qaytaruvchi funksiyaga misol

Misol

Bu yerda myFunction() ikkita butun sonni (x va y) qabul qiladi va ularning yig‘indisini (x + y) butun son (int) sifatida qaytaradi:

package main import "fmt" func myFunction(x int, y int) int {   return x + y } func main() {   fmt.Println(myFunction(1, 2)) }

Natija:

3
O‘zingiz sinab ko‘ring »

Nomlangan qaytariladigan qiymatlar

Go tilida funksiyaning qaytariladigan qiymatlariga nom berish mumkin.

Misol

Bu yerda qaytariladigan qiymatni result deb nomlaymiz (int tipida) va qiymatni "yalang‘och" return (naked return) orqali qaytaramiz (ya’ni return operatorini o‘zgaruvchi nomini ko‘rsatmasdan ishlatamiz):

package main import "fmt" func myFunction(x int, y int) (result int) {   result = x + y   return } func main() {   fmt.Println(myFunction(1, 2)) }

Natija:

3
O‘zingiz sinab ko‘ring »

Yuqoridagi misolni quyidagicha ham yozish mumkin. Bu yerda return operatori o‘zgaruvchi nomini ko‘rsatadi:

Misol

package main import "fmt" func myFunction(x int, y int) (result int) {   result = x + y   return result } func main() {   fmt.Println(myFunction(1, 2)) }


Qaytariladigan qiymatni o‘zgaruvchida saqlash

Qaytariladigan qiymatni quyidagicha o‘zgaruvchida saqlashingiz ham mumkin:

Misol

Bu yerda qaytariladigan qiymatni total nomli o‘zgaruvchida saqlaymiz:

package main import "fmt" func myFunction(x int, y int) (result int) {   result = x + y   return } func main() {   total := myFunction(1, 2)   fmt.Println(total) }
O‘zingiz sinab ko‘ring »

Bir nechta qaytariladigan qiymat

Go funksiyalari bir nechta qiymat ham qaytarishi mumkin.

Misol

Bu yerda myFunction() bitta butun son (result) va bitta string (txt1) qaytaradi:

package main import "fmt" func myFunction(x int, y string) (result int, txt1 string) {   result = x + x   txt1 = y + " World!"   return } func main() {   fmt.Println(myFunction(5, "Hello")) }

Natija:

10 Hello World!
O‘zingiz sinab ko‘ring »

Misol

Bu yerda ikkita qaytariladigan qiymatni ikkita o‘zgaruvchida (a va b) saqlaymiz:

package main import "fmt" func myFunction(x int, y string) (result int, txt1 string) {   result = x + x   txt1 = y + " World!"   return } func main() {   a, b := myFunction(5, "Hello")   fmt.Println(a, b) }

Natija:

10 Hello World!
O‘zingiz sinab ko‘ring »

Agar (biror sababga ko‘ra) qaytarilgan qiymatlarning ba’zilaridan foydalanishni istamasak, bu qiymatni tashlab ketish uchun pastki chiziq (_) qo‘yishimiz mumkin.

Misol

Bu yerda birinchi qaytarilgan qiymatni (result — u a o‘zgaruvchisida saqlanadi) tashlab ketmoqchimiz:

package main import "fmt" func myFunction(x int, y string) (result int, txt1 string) {   result = x + x   txt1 = y + " World!"   return } func main() {    _, b := myFunction(5, "Hello")   fmt.Println(b) }

Natija:

Hello World!
O‘zingiz sinab ko‘ring »

Misol

Bu yerda ikkinchi qaytarilgan qiymatni (txt1 — u b o‘zgaruvchisida saqlanadi) tashlab ketmoqchimiz:

package main import "fmt" func myFunction(x int, y string) (result int, txt1 string) {   result = x + x   txt1 = y + " World!"   return } func main() {    a, _ := myFunction(5, "Hello")   fmt.Println(a) }

Natija:

10
O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!